PT-2026-29495 · Unknown · Ash Framework
Fg0X0
·
Publicado
2026-04-01
·
Atualizado
2026-04-02
·
CVE-2026-34593
CVSS v4.0
8.2
Alta
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
Versões do Ash Framework anteriores a 3.22.0
O Ash Framework é suscetível a uma negação de serviço devido à criação descontrolada de átomos Erlang. A função
Ash.Type.Module.cast input/2 cria incondicionalmente um novo átomo Erlang usando Module.concat([value]) para qualquer string binária fornecida pelo usuário que comece com 'Elixir.', sem primeiro verificar a existência do módulo. Como os átomos Erlang nunca são coletados pelo garbage collector e a máquina virtual BEAM tem um limite no número de átomos, um invasor pode esgotar a tabela de átomos enviando inúmeras strings exclusivas 'Elixir.' por meio de qualquer atributo de recurso ou argumento do tipo :module, levando a uma falha da VM BEAM e a uma negação de serviço. O código vulnerável está localizado em lib/ash/type/module.ex, linhas 105-113 e 141. Um invasor pode explorar isso enviando solicitações Ash.create repetidas com strings exclusivas 'Elixir.' por meio de um endpoint de API. O problema também ocorre ao ler valores do tipo :module do banco de dados se um invasor puder gravar strings arbitrárias 'Elixir.*' na coluna de banco de dados relevante.Para resolver isso, atualize para a versão 3.22.0 ou posterior. Como solução alternativa temporária, evite usar o tipo :module para entrada fornecida pelo usuário ou restrinja o acesso a recursos com atributos do tipo :module.
Exploit
Correção
Resource Exhaustion
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Ash Framework