CVE-2026-82732 in ash_typescript
Riassunto
di VulDB • 01/09/2026
Vulnerabilità di convalida impropria dell'input in ash-project ash_typescript che consente a un attaccante remoto di inviare valori degli argomenti al di fuori di una allowlist dichiarata o dei vincoli sui typed-controller routes.
AshTypescript.TypedController.RequestHandler, presente nel file lib/ash_typescript/typed_controller/request_handler.ex, chiama Ash.Type.cast_input/3 e tratta il risultato {:ok, cast} come completamente convalidato. In Ash questi sono passaggi distinti: cast_input/3 si limita a coercere (coerce) il termine, mentre ogni vincolo dichiarato sull'argomento viene applicato da Ash.Type.apply_constraints/3, funzione che questo percorso di esecuzione non invoca. Vincoli quali one_of, max_length, min e max, nonché match, risultano quindi inerti; ne consegue che un valore al di fuori di una allowlist dichiarata viene accettato e passato all'handler della route. Il codegen traduce gli stessi vincoli nei tipi TypeScript generati, per cui una allowlist appare applicata a un chiamante TypeScript, mentre qualsiasi altro client HTTP la ignora. Anche la normalizzazione da stringa vuota ("") a nil è gestita in apply_constraints; di conseguenza, il controllo allow_nil?: false accetta "" anche per argomenti richiesti (required).
Laddove un vincolo controlli l'accesso a un ruolo, uno stato o una direzione di ordinamento, ciò comporta una bypass del meccanismo dei privilegi o della macchina a stati.
Questo problema interessa ash_typescript: dalle versioni 0.15.0 alla versione precedente la 0.18.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.