PT-2026-50793 · Guzzle · Guzzle
CVSS v3.1
5.8
Média
| Vetor | AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
Guzzle versões anteriores a 7.12.1
Descrição
O CookieJar aceita incorretamente cookies com um atributo
Domain composto apenas por pontos (como Domain=., Domain=.., Domain=...) e variantes com preenchimento de espaços em branco. A função SetCookie::matchesDomain() remove pontos iniciais, normalizando valores compostos apenas por pontos para uma string vazia. Como a função SetCookie::validate() rejeitava apenas domínios estritamente vazios, esses cookies eram armazenados e o domínio normalizado vazio era tratado como correspondente a qualquer host de requisição. Uma origem controlada por um invasor, solicitada por uma aplicação que utiliza um cookie jar compartilhado, pode definir um cookie que é posteriormente enviado para hosts não relacionados. Isso pode levar à injeção de cookies ou fixação de sessão em serviços downstream. Este problema afeta aplicações que utilizam o suporte de cookies do Guzzle, como new Client(['cookies' => true]) ou um CookieJar compartilhado explícito, quando o mesmo jar é reutilizado entre origens confiáveis e controladas por invasores.Recomendações
Atualize para a versão 7.12.1 ou posterior.
Como medida paliativa temporária, não reutilize a mesma instância de
CookieJar entre origens não confiáveis e confiáveis.
Utilize jars de cookies separados por origem ou limite de confiança.
Desative a manipulação de cookies para requisições a hosts não confiáveis.
Evite usar new Client(['cookies' => true]) para clientes que possam contatar hosts não relacionados com diferentes níveis de confiança.Exploit
Correção
Origin Validation Error
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Guzzle