CVE-2026-80227

SQL string_trim removes only spaces, diverging from in-memory trimming in AshSql

LOW
2.1
CVSS Score
Published: August 30, 2026 at 11:53 AM UTC
Updated: September 3, 2026 at 05:15 AM UTC
1 product affected across 1 vendorAshSql

Using ash_sql by ash-project?

Get instant alerts when new vulnerabilities affect ash_sql - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
LOW2.1
Exploit prediction
EPSS 0.4%
SSVC
PoC

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

0.1.0 ≤ v < 0.7.10.1.0dd092ed273dec7bd2194352f24a39229fc8ae68b
Vendor states this is fixed in 1b11b5d8bc5321e2e6acac21594ef08f61986117 (fixed)
Affected range stops below 0.7.1, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

SSVC — Action Prioritization

SSVCPoCNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

2.1LOWEEF
Vector?

Quick Info

StatusDEFERRED
CWE
CWE-697

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card