CVE-2026-67579: Filter expression injection via forged keyset pagination cursor in Ash

Published Aug 12, 2026
·
Updated

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 decodevalues/2 in lib/ash/page/keyset.ex using nonexecutablebinarytoterm/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 dofilters/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.

Affected Software

1 affected component
ash-project ash>1.17.0<=3.31.3

Event History

Aug 12, 2026
CVE Published
via MITRE·08:04 PM
Data Sourced
via MITRE·08:04 PM
DescriptionWeakness
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-67579?

CVE-2026-67579 has a risk score of 86, indicating a high severity level.

2

How do I fix CVE-2026-67579?

To mitigate CVE-2026-67579, validate and sanitize inputs to prevent unauthorized filter expression injection.

3

Who is affected by CVE-2026-67579?

CVE-2026-67579 affects users of the ash-project ash framework, particularly those using keyset pagination.

4

What kind of attacks can be executed using CVE-2026-67579?

CVE-2026-67579 can allow attackers to perform SQL injection or potentially execute code depending on the configuration of the data layer.

5

Is authentication required to exploit CVE-2026-67579?

No, CVE-2026-67579 can be exploited by unauthenticated attackers.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203