CVE-2026-67579: CWE-502 Deserialization of Untrusted Data in ash-project ash
CVE-2026-67579 is a deserialization of untrusted data vulnerability in the ash-project ash framework. It allows an unauthenticated attacker to inject malicious filter expressions via a forged keyset pagination cursor. This can lead to SQL injection on AshPostgres or arbitrary code execution on other data layers. The vulnerability affects ash versions from 1.17.0 up to but not including 3.31.3.
AI Analysis
Technical Summary
The vulnerability arises from unsafe deserialization in the decode_values/2 function of lib/ash/page/keyset.ex, which uses non_executable_binary_to_term/2 with the [:safe] option. While this prevents new atoms, functions, and ports, it does not block structs built from already interned atoms, such as %Ash.Query.Call{}. This struct can be injected and spliced into the keyset filter expression without passing through the usual private/public gate checks. On AshPostgres, this leads to SQL injection by inlining the malicious fragment into the SQL query. On ETS and Simple data layers, the injected expression is evaluated as an arbitrary function call, enabling code execution. The flaw affects ash versions starting at 1.17.0 and prior to 3.31.3.
Potential Impact
An unauthenticated attacker can exploit this vulnerability to perform SQL injection attacks on systems using the AshPostgres data layer, potentially compromising database integrity and confidentiality. On other data layers like ETS and Simple, the attacker can execute arbitrary code within the application process, leading to full compromise of the affected system. The vulnerability has a high severity score (CVSS 7.5) reflecting its potential for significant impact without requiring authentication.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, avoid using untrusted input in keyset pagination cursors or disable keyset pagination features if possible. Monitor vendor channels for updates and apply patches promptly once released.
CVE-2026-67579: CWE-502 Deserialization of Untrusted Data in ash-project ash
Description
CVE-2026-67579 is a deserialization of untrusted data vulnerability in the ash-project ash framework. It allows an unauthenticated attacker to inject malicious filter expressions via a forged keyset pagination cursor. This can lead to SQL injection on AshPostgres or arbitrary code execution on other data layers. The vulnerability affects ash versions from 1.17.0 up to but not including 3.31.3.
CVSS v4.0
Score 7.5high
Affected software
cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability arises from unsafe deserialization in the decode_values/2 function of lib/ash/page/keyset.ex, which uses non_executable_binary_to_term/2 with the [:safe] option. While this prevents new atoms, functions, and ports, it does not block structs built from already interned atoms, such as %Ash.Query.Call{}. This struct can be injected and spliced into the keyset filter expression without passing through the usual private/public gate checks. On AshPostgres, this leads to SQL injection by inlining the malicious fragment into the SQL query. On ETS and Simple data layers, the injected expression is evaluated as an arbitrary function call, enabling code execution. The flaw affects ash versions starting at 1.17.0 and prior to 3.31.3.
Potential Impact
An unauthenticated attacker can exploit this vulnerability to perform SQL injection attacks on systems using the AshPostgres data layer, potentially compromising database integrity and confidentiality. On other data layers like ETS and Simple, the attacker can execute arbitrary code within the application process, leading to full compromise of the affected system. The vulnerability has a high severity score (CVSS 7.5) reflecting its potential for significant impact without requiring authentication.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, avoid using untrusted input in keyset pagination cursors or disable keyset pagination features if possible. Monitor vendor channels for updates and apply patches promptly once released.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-08-09T16:45:01.833Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a7cd705bf8831d5391ea007
Added to database: 08/12/2026, 20:26:45 UTC
Last enriched: 08/12/2026, 20:41:06 UTC
Last updated: 08/12/2026, 20:41:06 UTC
Views: 4
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.