Intel

AIKIDO-2026-33375

ash is vulnerable to SQL Injection

SQL InjectionCVE-2026-67579 Published Aug 14, 2026

75

High Risk

This Affects:

ELIXIRash
1.17.0 - 3.31.2
Fixed in 3.31.3
Are you affected? Scan for Free

TL;DR

Ash keyset pagination decodes a client-supplied cursor and splices a decoded element into a query filter without confirming it is a scalar sort value. A forged page[:after] or page[:before] cursor can carry a serialized Ash expression term such as a fragment call, which passes the filter builder. On the AshPostgres data layer the injected expression compiles to SQL, while on the ETS and Simple data layers it is evaluated as an arbitrary function call, and no authentication is needed to reach a paginated read action. The fix rejects any deserialized cursor term recognized as an Ash expression before it reaches the filter.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you expose a read action with keyset pagination whose cursor is populated from client-supplied input.

Background info

ash is vulnerable to SQL Injection in versions 1.17.0 - 3.31.2.

How to fix this

Upgrade the ash library to the patch version.