CVE-2026-94201
Last modified
CVE-2026-94201 is a high-severity vulnerability rated 8.2/10 on the CVSS scale. Ash stores :atom-typed attributes as strings and compares them as strings. When such an attribute is referenced in a filter, the comparison value is coerced through Ash.Type.Atom. EPSS estimates a 0.30% chance of exploitation in the next 30 days.
Description
Ash stores :atom-typed attributes as strings and compares them as strings. When such an attribute is referenced in a filter, the comparison value is coerced through Ash.Type.Atom. Because the type defined no coerce/2 callback, coercion fell back to the default (cast_input/2), which calls String.to_atom/1 when the attribute is configured with the unsafe_to_atom?: true constraint. Filtering such an attribute with attacker-controlled strings therefore interned a new, permanent atom for every distinct value. Atoms are never garbage collected and the BEAM caps the atom table, so an actor who can supply filter values for a public, filterable :atom attribute declared with unsafe_to_atom?: true can exhaust the atom table and crash the node (denial of service). AshPaperTrail is a notable example: its version resources expose a public, filterable version_action_name atom attribute with unsafe_to_atom?: true by default. The fix adds a coerce/2 to Ash.Type.Atom that never interns atoms — a comparison value is left as a string, since the type is stored and compared as a string. Setting the attribute from action input (cast_input/2, which still honors unsafe_to_atom?) is unchanged. This issue affects ash: from 3.5.1 before 3.34.3.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| ash-project | ash | >= 3.5.1, < 3.34.3 |
| ash-project | ash | >= 2970ba3bd5d36d6ad04c731ac87385375d457147, < 5282f3f513053628cdd1bf2236ea22d975d934d4 |
References
Timeline
- Published
- Last Modified
- Status
- Deferred
Frequently Asked Questions
What is CVE-2026-94201?
How severe is CVE-2026-94201?
How do I fix CVE-2026-94201?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-9419A vulnerability has been found in code-projects Employee Man…4.3
- CVE-2026-94192A ThreadX module allocates the control blocks of its kernel …8.5
- CVE-2026-94194Inconsistent Interpretation of HTTP Requests ('HTTP Request/…6.3
- CVE-2026-94197An authentication and authorization bypass vulnerability exi…7.5
- CVE-2026-9420A vulnerability was found in KLiK SocialMediaWebsite 1.0. Th…6.3
- CVE-2026-94200Improper Validation of Consistency within Input vulnerabilit…8.2
- CVE-2026-94202The Module Manager's block-pool create dispatcher proved tha…4.8
- CVE-2026-94204The central cloud storage backend for the entire dashcam pla…7.5
- CVE-2026-94205Gitea Actions decided whether a fork pull request run needed…9.8
- CVE-2026-94206Use of Password Hash With Insufficient Computational Effort …6.3
- CVE-2026-9421A vulnerability was determined in KLiK SocialMediaWebsite 1.…7.3
- CVE-2026-94210A flaw has been found in Hyve5 Leantime up to 3.9.8. Affecte…3.5
Are you affected by CVE-2026-94201?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
