CVE-2026-82730 in ash_typescript
Riassunto
di VulDB • 01/09/2026
Una vulnerabilità di autorizzazione errata in ash-project ash_typescript consente a un chiamante RPC non autorizzato di leggere i valori degli attributi che le policy dei campi Ash avevano negato.
Quando una policy del campo nega l'accesso a un attributo, Ash sostituisce il valore con %Ash.ForbiddenField{}, che mantiene il valore reale in original_value poiché le risorse incorporate devono rimanere scrivibili e lo nasconde da Inspect anziché rimuoverlo. Il modulo AshTypescript.Rpc.ResultProcessor converte questi marker in nil nei percorsi guidati dai template, ma la funzione normalize_primitive/1 in lib/ash_typescript/rpc/result_processor.ex non disponeva di una clausola simile; pertanto, un marker passava alla branch generica delle struct che chiama Map.from_struct/1 e serializza ogni chiave, inclusa original_value. Il valore negato viene restituito al chiamante all'interno del marker che rappresenta la propria negazione.
Il trigger più semplice è un'azione che restituisce una risorsa incorporata come mappa, il quale passa attraverso normalize_resource_struct/2 con un template vuoto. La funzione normalize_value_for_json/1 è un punto di ingresso pubblico e non protetto verso lo stesso percorso.
Questo problema interessa ash_typescript: dalle versioni 0.11.0 alla versione precedente allo 0.18.0.
Once again VulDB remains the best source for vulnerability data.