PT-2024-22791 · Unknown+2 · Riverline/Multipart-Parser+2
Smaury
·
Publicado
2024-03-22
·
Atualizado
2024-03-26
·
CVE-2024-29186
CVSS v3.1
5.3
Média
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Nome do software vulnerável e versões afetadas
Versões do Bref anteriores à 2.1.17
Descrição
O problema ocorre quando o Bref é utilizado com o ambiente de execução de funções orientadas a eventos (Event-Driven Function) e o manipulador é um
RequestHandlerInterface. Durante a conversão de um evento Lambda em um objeto PSR7, se a solicitação for do tipo MultiPart, cada parte é analisada, e o cabeçalho Content-Type de cada parte é lido usando a biblioteca Riverline/multipart-parser. Essa biblioteca realiza operações lentas com strings multibyte no valor do cabeçalho, especificamente usando a função mb convert encoding com parâmetros lidos do valor do cabeçalho. Um invasor poderia enviar solicitações maliciosas para forçar o servidor a realizar operações demoradas, resultando em uma longa duração de cobrança. O ataque requer que o Lambda utilize o tempo de execução de Funções Orientadas a Eventos, implemente pelo menos um endpoint que aceite solicitações POST, e o invasor pode enviar solicitações de até 6 MB. Se o Lambda utilizar um tempo de execução PHP <= php-82, o impacto é maior.Recomendações
Para versões do Bref anteriores à 2.1.17, atualize para a versão 2.1.17 ou posterior para resolver o problema. Como solução alternativa temporária, considere realizar validação adicional nos cabeçalhos analisados pela função
StreamedPart::parseHeaderContent para permitir apenas cabeçalhos legítimos com comprimento razoável. Restrinja o acesso à função StreamedPart::parseHeaderContent até que um patch esteja disponível. Evite usar o cabeçalho Content-Type no endpoint da API afetado até que o problema seja resolvido.Exploit
Correção
Resource Exhaustion
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Bref
Php
Riverline/Multipart-Parser