CVE-2026-67579
Analyzed Analyzed - Analysis Complete

Deserialization Flaw in Ash Framework Enables Code Execution

Vulnerability report for CVE-2026-67579, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-12

Last updated on: 2026-08-18

Assigner: EEF

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 Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-12
Last Modified
2026-08-18
Generated
2026-09-02
AI Q&A
2026-08-13
EPSS Evaluated
2026-08-31
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
ash-hq ash_framework From 1.17.0 (inc) to 3.31.3 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
CWE-502 The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-67579 is a deserialization vulnerability in the Ash framework (versions 1.17.0 to 3.31.2) that allows unauthenticated attackers to inject malicious filter expressions via forged keyset pagination cursors. The issue occurs because the framework decodes client-supplied cursors without validating them for executable content, enabling SQL injection or code execution depending on the data layer used.

Detection Guidance

Detecting this vulnerability requires checking if your Ash framework version is between 1.17.0 and 3.31.2. Use commands like 'mix deps | grep ash' in Elixir projects or inspect dependency files for ash version constraints. Look for read actions using keyset pagination with client-supplied :after or :before cursor values.

Impact Analysis

This vulnerability allows unauthenticated attackers to execute arbitrary SQL queries or Erlang code on your system. On AshPostgres, it can lead to SQL injection attacks like data exfiltration or command execution. On ETS or Simple data layers, it enables in-process code execution with server privileges. The attack requires no user interaction and can bypass authentication if the endpoint is accessible.

Compliance Impact

This vulnerability can severely impact compliance with GDPR, HIPAA, and other regulations by enabling unauthorized access to sensitive data (confidentiality breach), modification or deletion of data (integrity breach), and potential system compromise (availability impact). Organizations using affected Ash framework versions may face regulatory penalties, data breach notifications, and reputational damage.

Mitigation Strategies

Immediately upgrade Ash framework to version 3.31.3 or later. If upgrading is not possible, disable keyset pagination on all read actions or implement strict input validation for cursor values. Review all read endpoints using keyset pagination for exposed :after/:before parameters.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-67579. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart