PT-2026-106202 · Unknown+1 · Ashjsonapi+3

·

CVE-2026-94201

·

Publicado

2026-10-05

·

Atualizado

2026-10-05

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 ash versões 3.5.1 até 3.34.2
Description O Ash armazena atributos do tipo :atom como strings e os compara como strings. Quando tal atributo é usado em um filtro, o valor de comparação é processado através do Ash.Type.Atom. Devido à ausência de um callback coerce/2, o processo retorna ao padrão cast input/2, que invoca String.to atom/1 quando o atributo é configurado com a restrição unsafe to atom?: true. Um invasor que forneça strings distintas para um atributo :atom público e filtrável com essa restrição pode fazer com que o sistema interne um novo átomo permanente para cada valor. Como os átomos não são coletados pelo garbage collector e o BEAM (a Máquina Virtual Erlang) possui uma tabela de átomos limitada, isso pode levar ao esgotamento da tabela de átomos e a uma falha de negação de serviço. Isso é acessível quando uma aplicação expõe tal atributo via interfaces como AshGraphql, AshJsonApi ou a função filter input/2. O AshPaperTrail é um exemplo de biblioteca que expõe o atributo version action name com essa configuração por padrão.
Recommendations Atualize o ash para a versão 3.34.3 ou posterior. Como mitigação temporária, evite usar a restrição unsafe to atom?: true em atributos :atom públicos e filtráveis.

Correção

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-94201

Produtos afetados

Ash
Ash Graphql
Ashjsonapi
Ash Paper Trail