CVE-2026-82732: CWE-20 Improper Input Validation in ash-project ash_typescript
Description
Improper Input Validation vulnerability in ash-project ash_typescript allows a remote attacker to submit argument values outside a declared allowlist or bound on typed-controller routes. AshTypescript.TypedController.RequestHandler in lib/ash_typescript/typed_controller/request_handler.ex calls Ash.Type.cast_input/3 and treats an {:ok, cast} result as fully validated. In Ash these are separate steps: cast_input/3 only coerces the term, while every constraint declared on the argument is applied by Ash.Type.apply_constraints/3, which this path never calls. Constraints such as one_of, max_length, min and max, and match are therefore inert, so a value outside a declared allowlist is accepted and passed to the route handler. Codegen renders the same constraints into the generated TypeScript types, so an allowlist appears enforced to a TypeScript caller while any other HTTP client ignores it. Empty-string to nil normalization also lives in apply_constraints, so the allow_nil?: false check accepts "" for a required argument. Where a constraint gates a role, a status, or a sort direction, this becomes a privilege or state-machine bypass. This issue affects ash_typescript: from 0.15.0 before 0.18.0.
CVSS v4.0
Score 6.3medium
Affected software
ash-project
ash_typescript
ash-project
ash_typescript
cpe:2.3:a:ash-project:ash_typescript:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in ash_typescript's TypedController.RequestHandler occurs because Ash.Type.cast_input/3 is used to coerce input values but does not apply declared constraints, which are enforced separately by Ash.Type.apply_constraints/3. Since the request handler never calls apply_constraints, constraints like one_of, max_length, min, max, and match are effectively ignored. This allows attackers to submit values outside the intended allowlist or bounds, bypassing client-side TypeScript type enforcement and potentially leading to privilege or state-machine bypasses. The affected versions are 0.15.0 through versions before 0.18.0.
Potential Impact
Attackers can bypass input validation constraints that gate critical logic such as roles, statuses, or sort directions, potentially leading to unauthorized privilege escalation or state-machine bypasses. The vulnerability undermines the integrity of input validation, allowing malicious inputs that should have been rejected to be processed by the application.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, users should avoid using affected versions or implement additional server-side validation to enforce all constraints explicitly, ensuring that inputs conform to declared allowlists and bounds before processing.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-08-31T00:59:10.001Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a963a7bacd9273b491bc8e7
Added to database: 09/01/2026, 02:37:47 UTC
Last enriched: 09/07/2026, 14:51:33 UTC
Last updated: 10/14/2026, 06:48:21 UTC
Views: 81
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.