Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle
13Vexday Risk Score
Sin señal de explotación. Ningún artefacto público de explotación conocido hasta ahora.
ssvc Trackcvss 5.8epss 0.1%
probabilidad de explotación
0.1%top 98% de las CVE
explotación observada
noninguna fuente lo reporta
En resumen
Guzzle tiene un fallo en la forma de manejar cookies: acepta cookies con dominios que contienen solo puntos o espacios en blanco, y los trata como válidos para cualquier sitio. Un atacante puede usarlo para inyectar cookies que se envían a sitios no relacionados cuando se comparte un mismo frasco de cookies.
Detalle técnico
La vulnerabilidad existe en SetCookie::matchesDomain() y SetCookie::validate() donde los dominios con solo puntos se normalizan a cadenas vacías y no se rechazan adecuadamente, permitiendo que las cookies coincidan con cualquier host. Un atacante que controla un origen puede inyectar cookies maliciosas en un CookieJar compartido que se transmiten posteriormente a hosts no relacionados, permitiendo inyección de cookies o fijación de sesión contra servicios descendentes.
Resumen generado y traducido por IA a partir de la descripción oficial.
Guzzle is an extensible PHP HTTP client. Prior to 7.12.1, CookieJar incorrectly accepts cookies with a dot-only Domain attribute and whitespace-padded variants. SetCookie::matchesDomain() removes leading dots from the cookie domain, normalizing dot-only values to the empty string; SetCookie::validate() only rejected a strictly empty domain, so these cookies could be stored and the empty normalized domain was treated as matching any request host. An attacker-controlled origin that an application requests with a shared cookie jar can therefore set a cookie that Guzzle later sends to unrelated hosts using the same jar. This may allow cookie injection or session fixation against downstream services, depending on how those services interpret the injected cookie. This vulnerability is fixed in 7.12.1.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N