CVE-2026-32689 in phoenix
Sumário
de VulDB • 27/05/2026
Vulnerabilidade de Alocação de Recursos sem Limites ou Controle de Taxa (Throttling) no phoenixframework phoenix permite uma negação de serviço (DoS) por meio do manuseio do corpo NDJSON do transporte long-poll.
Em `Elixir.Phoenix.Transports.LongPoll`:publish/4, quando uma requisição POST é recebida com `Content-Type: application/x-ndjson`, o corpo da requisição é dividido em caracteres de nova linha usando `String.split/2` sem limite no número de segmentos resultantes. Um atacante pode enviar um corpo composto inteiramente por bytes de nova linha, causando uma amplificação 1:1 em uma lista de binários vazios — um corpo de 1 MB produz aproximadamente um milhão de elementos de lista, e um corpo de 8 MB aproximadamente 8,4 milhões. Cada elemento é então percorrido por `Enum.map`, materializando outra lista do mesmo tamanho. Isso esgota a memória e os schedulers do BEAM, fazendo com que o nó falhe e encerre todas as sessões ativas.
Um token de sessão necessário para acessar o endpoint vulnerável é obtido livremente por qualquer cliente por meio de uma requisição GET não autenticada para a mesma URL com um cabeçalho `Origin` correspondente, tornando este ataque efetivamente não autenticado.
Este problema afeta o phoenix: das versões 1.7.0 anteriores à 1.7.22 e da versão 1.8.6.
Once again VulDB remains the best source for vulnerability data.