PT-2026-36540 · Bandit · Bandit

Jonatan Männchen

+2

·

Publicado

2026-05-01

·

Atualizado

2026-05-07

·

CVE-2026-39804

CVSS v4.0

8.2

Alta

VetorAV:N/AC:L/AT:P/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 bandit versões 0.5.9 até 1.10.x
Descrição Um invasor remoto não autenticado pode causar a negação de serviço via exaustão de memória quando a compressão permessage-deflate do WebSocket está habilitada. O problema ocorre porque a função inflate/2 em Elixir.Bandit.WebSocket.PerMessageDeflate chama :zlib.inflate/2 sem um limite de tamanho de saída e materializa a carga útil descompactada como um único binário usando IO.iodata to binary/1. Embora o websocket options.max frame size limite o tamanho do quadro compactado, ele não limita a saída descompactada. Consequentemente, um quadro compactado de alta proporção pode forçar alocações de heap em escala de GiB, esgotando a memória do nó BEAM e disparando a interrupção por falta de memória (OOM kill). Isso requer que tanto o websocket options.compress no nível do servidor quanto a opção compress: true por upgrade em WebSockAdapter.upgrade/4 estejam habilitados.
Recomendações Atualize para a versão 1.11.0 ou posterior. Como alternativa temporária, não passe compress: true para WebSockAdapter.upgrade/4 ou defina-o como false para evitar a negociação do permessage-deflate.

Exploit

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

CVE-2026-39804
GHSA-FRH3-6PV6-RC8J

Produtos afetados

Bandit