Descripción
SuggestArr anterior a 3.0.0 contiene una vulnerabilidad de omisión de autenticación en su modo de autenticación local_bypass, donde enforce_authentication() en api_service/auth/middleware.py confía en el valor request.remote_addr controlado por el cliente, que se deriva del encabezado X-Forwarded-For, susceptible de suplantación, debido a la configuración ProxyFix(x_for=1) en api_service/app.py. Los atacantes pueden enviar una solicitud con X-Forwarded-For establecido en una dirección CIDR de confianza, como 127.0.0.1, para obtener una sesión de administrador no autenticada mediante _load_bypass_user_context(), lo que les otorga acceso administrativo completo a endpoints como /api/users y /api/jobs sin proporcionar credenciales.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- SuggestArr Afectadas: 1.0.4 y anteriores a 3.0.0
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Aviso del fabricantegithub.com/giuseppe99barchetta/SuggestArr/security/advisories/GHSA-fc…
- Parchegithub.com/giuseppe99barchetta/SuggestArr/releases/tag/v3.0.0
- Aviso de vulncheck.comvulncheck.com/advisories/suggestarr-before-authentication-bypass-via-…
Ver el texto original en inglés (CVE.org)
SuggestArr before 3.0.0 Authentication Bypass via X-Forwarded-For Spoofing
SuggestArr before 3.0.0 contains an authentication bypass vulnerability in its local_bypass authentication mode where enforce_authentication() in api_service/auth/middleware.py trusts the client-controlled request.remote_addr value, which is derived from the spoofable X-Forwarded-For header due to ProxyFix(x_for=1) configuration in api_service/app.py. Attackers can send a request with X-Forwarded-For set to a trusted CIDR address such as 127.0.0.1 to be granted an unauthenticated admin session via _load_bypass_user_context(), gaining full administrative access to endpoints like /api/users and /api/jobs without providing any credentials.