PT-2026-84074 · Unknown · Ash Typescript
CVSS v4.0
8.7
Alta
| Vetor | AV:N/AC:L/AT:N/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 typescript versões 0.1.0 até 0.17.9
Description
Um invasor não autenticado pode causar a negação de serviço ao esgotar a tabela de átomos do BEAM, levando ao aborto do nó. Isso ocorre porque a função
convert to field atom/2 em lib/ash typescript/field formatter.ex utiliza String.to atom/1 para converter nomes de campos fornecidos pelo cliente em átomos quando nenhum átomo correspondente existe. O processo envolve a função parse input field/2, que tenta resolver o nome usando String.to existing atom/1, mas retorna uma string simples, que é então transformada em um átomo permanente. Como os átomos não são coletados pelo garbage collector, o fornecimento de inúmeros nomes de campos distintos via seleção de campos RPC através do AshTypescript.Rpc.FieldProcessing.FieldSelector eventualmente preencherá a tabela de átomos. Além disso, fornecer um nome de campo com mais de 255 caracteres dispara um SystemLimitError não tratado. O problema é acessível quando a aplicação expõe um endpoint RPC do AshTypescript via HTTP, permitindo que a entrada chegue ao AshTypescript.Rpc.run action/3.Recommendations
Atualize o ash typescript para a versão 0.18.0 ou posterior.
Exploit
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
Produtos afetados
Ash Typescript