CVE-2026-80227

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

State
Published
Severity
2.1 Low
Published
Aug 30, 2026
Updated
Aug 31, 2026
Reserved
Aug 30, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
4.02.1 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:NEEF

Weaknesses

Affected Products

ProductVersions
ash_sqlash-project
  • 0.1.0 to before 0.7.1Affected
ash_sqlash-project
  • dd092ed273dec7bd2194352f24a39229fc8ae68b to before 1b11b5d8bc5321e2e6acac21594ef08f61986117Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.