PT-2026-83142 · Elixir · Elixir

·

CVE-2026-75758

·

Publicado

2026-08-28

·

Atualizado

2026-08-29

CVSS v4.0

5.9

Média

VetorAV:L/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 Elixir versões 1.15.0-rc.0 até 1.18.4 Elixir versões 1.19.0-rc.0 até 1.19.5 Elixir versões 1.20.0-rc.0 até 1.20.3
Description Um problema de recursão descontrolada na biblioteca padrão permite que um invasor que controle uma lista passada para as funções inspect/1, List.to string/1 ou List.to charlist/1 esgote a memória de um nó BEAM. O problema ocorre quando o prefixo imprimível de uma lista excede o :printable limit (4096 elementos por padrão), mas contém um elemento subsequente que não é um ponto de código válido, como um átomo ou um inteiro fora do intervalo. Isso faz com que a lista seja classificada incorretamente como uma charlist, resultando em um ArgumentError. Em List.to string/1 e List.to charlist/1, a cláusula de resgate tenta construir uma mensagem de erro chamando inspect(list), o que aciona novamente o mesmo caminho de erro. Como essa recursão não está em posição de cauda, a pilha do processo cresce até que o nó fique sem memória ou o processo seja encerrado pelo max heap size.
Recommendations Atualize o Elixir para a versão 1.18.5 ou posterior. Atualize o Elixir para a versão 1.19.6 ou posterior. Atualize o Elixir para a versão 1.20.4 ou posterior. Como solução temporária, instale uma função de inspeção global via callback de inicialização da aplicação usando Inspect.Opts.default inspect fun/1 com fn term, opts -> Inspect.inspect(term, %{opts | charlists: :as lists}) end para evitar que o ramo de charlist seja acessado.

Exploit

Correção

Uncontrolled Recursion

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

AZL-98220
CVE-2026-75758
GHSA-JF5Q-V438-665C

Produtos afetados

Elixir