PT-2026-50792 · Composer · Guzzlehttp/Psr7
CVSS v3.1
4.8
Média
| Vetor | AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
guzzlehttp/psr7 versões anteriores a 2.12.1
Descrição
o guzzlehttp/psr7 não rejeita caracteres de Retorno de Carro (CR) e Alimentação de Linha (LF) em campos específicos da linha de início HTTP, incluindo o método de requisição, a versão do protocolo e a frase de motivo da resposta. Isso ocorre quando dados controlados por um invasor são inseridos nesses campos e posteriormente serializados como HTTP/1.x bruto usando funções como
Message::toString() ou serializadores equivalentes. O problema também pode ser acionado via Message::parseRequest() ou Message::parseResponse() quando mensagens brutas malformadas são analisadas em objetos PSR-7 e depois reserializadas. Para que a exploração ocorra, a mensagem malformada deve ser serializada e processada por um software que não rejeite independentemente linhas de início malformadas. Isso pode levar a injeção de cabeçalho, divisão de resposta (response splitting), contrabando de requisição (request smuggling) ou envenenamento de cache. Aplicações que utilizam APIs padrão do cliente HTTP Guzzle não devem ser afetadas; o risco é maior para aquelas que serializam mensagens manualmente, encaminham HTTP bruto ou implementam transportes personalizados, proxying e webhooks.Recomendações
Atualize para a versão 2.12.1 ou posterior.
Como alternativa temporária, rejeite caracteres CR/LF em valores não confiáveis de método, versão do protocolo e frase de motivo antes de construir ou modificar mensagens PSR-7.
Valide a linha de início bruta antes de chamar
Message::parseRequest() ou Message::parseResponse() e evite reanalisar mensagens brutas não confiáveis.
Valide REQUEST METHOD e SERVER PROTOCOL antes de chamar ServerRequest::fromGlobals() se a aplicação operar com valores $ SERVER sintéticos controlados por invasores.Exploit
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Guzzlehttp/Psr7