CVE-2026-82732 in ash_typescript
Zusammenfassung
von VulDB • 01.09.2026
Eine Schwachstelle durch unzulässige Eingabevalidierung in ash-project ash_typescript ermöglicht es einem Remote-Angriff, Argumentwerte außerhalb einer deklarierten Allowlist oder eines Bounds auf typed-controller-Routen einzureichen.
AshTypescript.TypedController.RequestHandler in lib/ash_typescript/typed_controller/request_handler.ex ruft Ash.Type.cast_input/3 auf und behandelt ein {:ok, cast}-Ergebnis als vollständig validiert. In Ash sind dies separate Schritte: cast_input/3 konvertiert den Term nur, während jede am Argument deklarierte Einschränkung von Ash.Type.apply_constraints/3 angewendet wird, was dieser Pfad niemals aufruft. Einschränkungen wie one_of, max_length, min und max sowie match bleiben daher wirkungslos, sodass ein Wert außerhalb einer deklarierten Allowlist akzeptiert und an den Routen-Handler übergeben wird. Codegen rendert dieselben Einschränkungen in die generierten TypeScript-Typen, sodass eine Allowlist für einen TypeScript-Aufrufenden erzwungen erscheint, während jeder andere HTTP-Client sie ignoriert. Die Normalisierung von leeren Strings zu nil befindet sich ebenfalls in apply_constraints, sodass die allow_nil?: false-Prüfung "" für ein erforderliches Argument akzeptiert.
Wo eine Einschränkung eine Rolle, einen Status oder eine Sortierrichtung sperrt, wird dies zu einer Umgehung der Berechtigungs- oder Zustandsautomatenlogik (Privilege/State-Machine Bypass).
Dieses Problem betrifft ash_typescript: von 0.15.0 vor 0.18.0.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.