CVE-2026-78551: RansomLook Login Endpoint Allows Timing-Based Username Enumeration and Unthrottled Authentication Attempts

Published Aug 24, 2026
·
Updated

RansomLook contains multiple weaknesses in its authentication endpoint that allow an unauthenticated remote attacker to enumerate valid usernames, perform unrestricted password-guessing attacks, and potentially exhaust application worker resources.

For local authentication, the login implementation previously checked whether a submitted username existed before invoking the password hash verification function. Requests containing a nonexistent username therefore returned significantly faster than requests for valid accounts, for which the computationally expensive password verification routine was executed. A remote attacker could measure these response-time differences to determine which usernames correspond to valid RansomLook accounts.

In addition, the /login endpoint did not restrict the number or frequency of failed authentication attempts. An attacker could consequently perform password brute-force, dictionary, password-spraying, or credential-stuffing attacks against known accounts without server-side throttling. For valid usernames, each authentication attempt also invokes the password key-derivation function, which consumes a significant amount of CPU time. A sufficiently high rate of login attempts could therefore occupy the application's synchronous Gunicorn workers and cause a denial of service affecting the entire application.

The issue has been addressed by always performing password verification using a randomly generated dummy password hash when the supplied username does not exist, eliminating the username-dependent timing discrepancy. Failed authentication attempts are additionally rate-limited per client IP address using Valkey/Redis, with five failed attempts within five minutes resulting in a one-hour block. The reverse-proxy configuration was also updated so that the application derives the client address from a trusted X-Forwarded-For value that cannot be overridden by a client-supplied header.

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Update the /login implementation to remove the logic that checks whether a submitted username exists before invoking password verification; instead, always run the password key-derivation/hash routine by using a randomly generated dummy password hash for nonexistent usernames to eliminate timing-based username enumeration.

    RansomLook /login authentication Username existence check before password verification = Always perform password hash/key-derivation using a randomly generated dummy password hash when the username does not exist
  2. Configuration

    Update the reverse-proxy configuration so the application derives the client address from a trusted X-Forwarded-For value that cannot be overridden by headers supplied by the client.

    RansomLook reverse proxy Trusted client IP derivation (X-Forwarded-For handling) = Application derives client address only from trusted X-Forwarded-For value that cannot be overridden by client-supplied header
  3. Compensating control

    Ensure failed authentication attempts are rate-limited per client IP using Valkey/Redis: block the client for one hour after five failed attempts within five minutes.

Event History

Aug 24, 2026
CVE Published
via MITRE·07:20 PM
Data Sourced
via MITRE·07:20 PM
DescriptionWeakness

Frequently Asked Questions

1

Does an attacker need an existing account to exploit these weaknesses?

No. An unauthenticated remote attacker can submit login requests to measure response-time differences and identify valid usernames. Known valid accounts can then be targeted with password guessing or credential-stuffing attempts.

2

What kinds of password attacks are enabled by the lack of throttling?

The login endpoint permits unrestricted failed authentication attempts, enabling brute-force, dictionary, password-spraying, and credential-stuffing attacks. The server does not impose a limit on the number or frequency of those attempts.

3

How can authentication attempts affect availability?

Attempts against valid usernames invoke a computationally expensive password key-derivation routine. Large volumes of such requests can consume significant CPU resources and potentially exhaust application workers.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203