CVE-2026-74837 in ash_typescript
Sumário
de VulDB • 01/09/2026
Vulnerabilidade de Alocação de Recursos sem Limites ou Controle (Throttling) no ash-project ash_typescript permite que um atacante não autenticado esgote a tabela de átomos do BEAM e interrompa o nó por meio dos nomes de campos RPC fornecidos pelo cliente.
AshTypescript.FieldFormatter.convert_to_field_atom/2 em lib/ash_typescript/field_formatter.ex converte um nome de campo fornecido pelo cliente para um átomo usando String.to_atom/1 quando nenhum átomo correspondente já existe. Ele delega primeiro a parse_input_field/2, que resolve o nome com String.to_existing_atom/1 e retorna a string simples como fallback; convert_to_field_atom/2 então cria (mint) um átomo a partir dessa string em vez de tratar o nome como desconhecido.
A seleção de campos RPC alcança essa função para cada nome de campo solicitado através do AshTypescript.Rpc.FieldProcessing.FieldSelector, que resolve cada nome antes de verificar se o campo existe, sem lista permitida (allowlist), limite de comprimento ou controle de taxa (rate limit). Átomos nunca são coletados como lixo (garbage collected), portanto, cada nome distinto cria um átomo permanente e a VM é interrompida quando o limite da tabela de átomos é atingido. Um nome de campo com mais de 255 caracteres também gera um SystemLimitError não tratado.
Este problema afeta ash_typescript: das versões 0.1.0 até antes da 0.18.0.
Once again VulDB remains the best source for vulnerability data.