PT-2026-137921
CVE-2026-113431
·
Publicado
2026-11-06
·
Atualizado
2026-11-06
Descrição por
CVSS 4.0
8.7
AltaMétricasAV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Nome do Software Vulnerável e Versões Afetadas
cowlib versões 2.7.0 e posteriores
Description
Um peer remoto não autenticado pode causar exaustão de memória em um endpoint HTTP/2. O problema ocorre porque a função
cow http2 machine:headers decode/4 em src/cow http2 machine.erl utiliza cow hpack:decode/3 para decodificar blocos HEADERS sem impor um limite ao tamanho da lista de cabeçalhos decodificada, ignorando o SETTINGS MAX HEADER LIST SIZE definido na RFC 9113. Um invasor pode armazenar um valor de cabeçalho grande (até 4096 bytes) na tabela dinâmica e referenciá-lo várias vezes usando campos indexados de um byte. Isso permite que uma pequena quantidade de tráfego de rede se expanda em uma grande alocação de memória. Por exemplo, um bloco de 110 bytes pode ser decodificado em uma lista de cabeçalhos de aproximadamente 390 KB. Quando um consumidor, como o Cowboy usando cowboy http2:headers to map/2, junta campos cookie repetidos em um único binário, ele aloca esse tamanho expandido para cada stream, podendo levar a VM Erlang ao esgotamento de memória.Recommendations
Para as versões 2.7.0 e posteriores do cowlib, considere as seguintes mitigações:
- Para servidores Cowboy que não necessitam de HTTP/2, defina
protocols => [http]nas opções de protocolo para desativar o HTTP/2. - Reduza o valor de
max headersnas opções de protocolo HTTP/2 para diminuir a alocação de memória por stream. - Como medida paliativa temporária, restrinja o uso do parâmetro
cookieem requisições HTTP/2 para minimizar o risco de amplificação de memória.
Explorabilidade
Exploit
Correção
Impactos
Pesquisadores
Fornecedores
Produtos afetados
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾