CVE-2026-78551

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.
CVSS

No CVSS.

Configurations

No configuration.

History

12 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) RansomLook contiene múltiples debilidades en su punto final de autenticación que permiten a un atacante remoto no autenticado enumerar nombres de usuario válidos, realizar ataques de adivinación de contraseñas sin restricciones y potencialmente agotar los recursos de los trabajadores de la aplicación. Para la autenticación local, la implementación de inicio de sesión verificaba previamente si un nombre de usuario enviado existía antes de invocar la función de verificación del hash de la contraseña. Las solicitudes que contenían un nombre de usuario inexistente, por lo tanto, regresaban significativamente más rápido que las solicitudes para cuentas válidas, para las cuales se ejecutaba la rutina de verificación de contraseña computacionalmente costosa. Un atacante remoto podría medir estas diferencias en el tiempo de respuesta para determinar qué nombres de usuario corresponden a cuentas válidas de RansomLook. Además, el punto final /login no restringía el número o la frecuencia de los intentos de autenticación fallidos. Un atacante podría, en consecuencia, realizar ataques de fuerza bruta de contraseñas, de diccionario, de pulverización de contraseñas o de relleno de credenciales contra cuentas conocidas sin limitación por parte del servidor. Para nombres de usuario válidos, cada intento de autenticación también invoca la función de derivación de clave de contraseña, que consume una cantidad significativa de tiempo de CPU. Una tasa suficientemente alta de intentos de inicio de sesión podría, por lo tanto, ocupar los trabajadores síncronos de Gunicorn de la aplicación y causar una denegación de servicio que afecte a toda la aplicación. El problema se ha abordado realizando siempre la verificación de la contraseña utilizando un hash de contraseña ficticio generado aleatoriamente cuando el nombre de usuario proporcionado no existe, eliminando la discrepancia de tiempo dependiente del nombre de usuario. Los intentos de autenticación fallidos están adicionalmente limitados por tasa por dirección IP del cliente utilizando Valkey/Redis, con cinco intentos fallidos en cinco minutos resultando en un bloqueo de una hora. La configuración del proxy inverso también se actualizó para que la aplicación derive la dirección del cliente de un valor X-Forwarded-For de confianza que no puede ser anulado por un encabezado proporcionado por el cliente.

Information

Published : 2026-08-24 20:17

Updated : 2026-10-12 21:10


NVD link : CVE-2026-78551

Mitre link : CVE-2026-78551

CVE.ORG link : CVE-2026-78551


JSON object : View

Products Affected

No product.

CWE
CWE-307

Improper Restriction of Excessive Authentication Attempts

CWE-400

Uncontrolled Resource Consumption