PT-2026-35422 · Unknown · Plug Cowboy
Peter Ullrich
+1
·
Publicado
2026-04-27
·
Atualizado
2026-05-22
·
CVE-2026-32688
CVSS v4.0
8.7
Alta
| Vetor | AV: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
plug cowboy versões 2.0.0 até 2.8.0
Descrição
Um invasor remoto não autenticado pode causar a negação de serviço através da exaustão da tabela de átomos. Em conexões HTTP/2, a função
Plug.Cowboy.Conn.conn/1 em lib/plug/cowboy/conn.ex chama String.to atom/1 no valor retornado por :cowboy req.scheme/1. Como o cowlib passa o valor do pseudo-cabeçalho :scheme fornecido pelo cliente sem validação, cada valor exclusivo cria uma entrada permanente na tabela de átomos do BEAM. Como os átomos não são coletados pelo garbage collector e a tabela possui um limite fixo, o envio de requisições com valores :scheme exclusivos pode exaurir a tabela, fazendo com que a VM Erlang aborte com um system limit e derrube o nó. Este problema não afeta o HTTP/1.1.Recomendações
Atualize para a versão 2.8.1.
Como solução paliativa temporária, desative o HTTP/2 no listener Plug.Cowboy.https/3 passando
protocol options: %{protocols: [:http]} nas opções do cowboy para restringir o listener ao HTTP/1.1.Correção
DoS
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Plug Cowboy