Vulnerability in Ash-Project Ash SQL

CVE-2026-80227

Incorrect Comparison vulnerability in ash-project ash_sql allows a user to pad a string field with tab, newline, carriage-return, or form-feed characters and pass a trimmed uniqueness or equality check in the database that the same expression would fail in memory (or the reverse). string_trim/1 compiles to REGEXP_REPLACE patterns built from an Elixir string in which \s is the escape for a single space (codepoint 32), not a regex whitespace class. The generated SQL therefore removes only literal spaces and leaves tabs, newlines, carriage returns, and form feeds in place, whereas String.trim/1 in Elixir removes them all. Any Ash filter, validation, or identity that relies on string_trim/1 then behaves differently depending on whether Ash pushes the expression down to SQL or evaluates it in memory, so padded input can register a near-duplicate value or slip past a trimmed comparison. This issue affects ash_sql: from 0.1.0 before 0.7.1.

Published · last modified .

EPSS exploit prediction

EPSS: 0.004 (28.9th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 29th percentile — 28.9% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-80227: held from 0.003 to 0.004.

EPSS over last 30 days · oldest: 0.003 · newest: 0.004 · change: +0.001

Affected products

Weakness classification (CWE)

References