Skip to main content
EPSS 0.6%top 53%

CVE-2026-67579: CWE-502 Deserialization of Untrusted Data in ash-project ash

0
High
VulnerabilityCVE-2026-67579cvecve-2026-67579cwe-502cwe-89
Published: 08/12/2026 (08/12/2026, 20:04:42 UTC)
Source: CVE Database V5
Vendor/Project: ash-project
Product: ash

Description

Deserialization of Untrusted Data vulnerability in ash-project ash allows an unauthenticated attacker to inject a filter expression through a forged keyset pagination cursor, resulting in SQL injection or code execution depending on the data layer. Read actions with keyset pagination decode the client-supplied page[:after] or page[:before] cursor in decode_values/2 in lib/ash/page/keyset.ex using non_executable_binary_to_term/2 with [:safe]. That guard blocks new atoms, funs, and ports, but not a struct built from atoms already interned in a running Ash application, so a decoded %Ash.Query.Call{} expression survives and is spliced into the keyset filter as a comparison value in do_filters/4 and evaluated. Because the cursor bypasses the Ash.Expr macro, the runtime never applies the private?/public? gate that would otherwise reject it. On AshPostgres the injected fragment is inlined into the SQL query; on the ETS and Simple data layers it is evaluated in-process as an arbitrary function call. This issue affects ash: from 1.17.0 before 3.31.3.

CVSS v4.0

Score 7.5high

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vuln. Confidentiality
High
Vuln. Integrity
High
Vuln. Availability
High
Subsq. Confidentiality
None
Subsq. Integrity
None
Subsq. Availability
None
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Affected software

ash-project

ash

Affected versions
>=1.17.0 <3.31.3

ash-project

ash

ash
pkg:hex/ash
Affected versions
>=1.17.0 <3.31.3
GitHub Actionsmore threats →cve
ash-project/ash
pkg:github/ash-project/ash
CPE configurations
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

AILast updated: 08/12/2026, 20:41:06 UTC

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.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
EEF
Date Reserved
2026-08-09T16:45:01.833Z
Cvss Version
4.0
State
PUBLISHED

Threat ID: 6a7cd705bf8831d5391ea007

Added to database: 08/12/2026, 20:26:45 UTC

Last enriched: 08/12/2026, 20:41:06 UTC

Last updated: 09/26/2026, 01:47:43 UTC

Views: 79

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

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

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses