Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Headroom Labs (CVE-2026-77775)

Gravedad CVSS v4.0:
ALTA
Tipo:
CWE-918 Falsificación de solicitud en servidor (SSRF)
Fecha de publicación:
21/08/2026
Última modificación:
15/10/2026

Descripción

El proxy LLM de Headroom permite a un cliente elegir el destino upstream con la cabecera de solicitud x-headroom-base-url. _resolve_openai_upstream_base en headroom/proxy/handlers/openai.py acepta el valor de la cabecera, solo requiere que se analice con un esquema HTTP o HTTPS y un nombre de host, y lo devuelve para su uso como base upstream; _select_passthrough_base_url en headroom/providers/proxy_routes.py lee la misma cabecera para las rutas de passthrough. Ninguna comprobación rechaza destinos loopback, link-local o RFC 1918, y debido a que el componente es un proxy, la respuesta upstream se devuelve al llamador, por lo que la solicitud llega a servicios internos y direcciones de metadatos de la nube y sus respuestas son divulgadas. La cabecera de autorización que acompaña a la solicitud se reenvía sin cambios al host designado por el llamador. El script de consola de pip enlaza 127.0.0.1 por defecto, pero el docker-compose.yml de referencia se distribuye con --host 0.0.0.0 con puertos publicados y sin HEADROOM_PROXY_TOKEN requerido, de lo cual el propio servidor advierte al inicio, por lo que una implementación que siga el compose distribuido expone las rutas del plano de datos afectadas a la red sin autenticación.