PT-2026-51499 · Plug · Plug
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 versões 1.15.0 até 1.15.4
plug versão 1.16.4
plug versão 1.17.2
plug versão 1.18.3
plug versão 1.19.3
Description
A complexidade algorítmica ineficiente no decodificador de parâmetros aninhados permite que um invasor remoto não autenticado cause a negação de serviço. As funções
Plug.Conn.Query.decode/4 e Plug.Conn.Query.decode each/2 analisam strings de consulta e corpos de requisição application/x-www-form-urlencoded. Quando uma chave contém muitos segmentos entre colchetes, o decodificador executa uma operação de mapa para cada nível de aninhamento usando um prefixo binário da chave em constante crescimento, resultando em um custo de decodificação quadrático. Com um limite de corpo padrão de 1.000.000 de bytes, uma única requisição pode conter aproximadamente 333.000 níveis de aninhamento, saturando um agendador BEAM por vários minutos. Um pequeno número de requisições simultâneas pode saturar todos os agendadores, tornando o servidor inoperante. Este problema envolve o arquivo lib/plug/conn/query.ex e as rotinas Plug.Conn.Query.decode/4, Plug.Conn.Query.decode each/2, Plug.Conn.Query.split keys/6, Plug.Conn.Query.insert keys/3 e Plug.Conn.Query.finalize pointer/2.Recommendations
Atualizar plug versões 1.15.0 até 1.15.4 para a versão 1.15.5.
Atualizar plug versão 1.16.4 para uma versão não vulnerável.
Atualizar plug versão 1.17.2 para uma versão não vulnerável.
Atualizar plug versão 1.18.3 para uma versão não vulnerável.
Atualizar plug versão 1.19.3 para uma versão não vulnerável.
Exploit
Correção
DoS
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Plug