Low severity · published Aug 30, 2026
CVE-2026-78691
Unescaped backslash allows LIKE wildcard injection in AshSql string search
2.1
CVSS
0.2%
EPSS
No
On KEV
Description
Improper Neutralization of Special Elements in Data Query Logic vulnerability in ash-project ash_sql allows a user who supplies a search term to contains/2, string_starts_with/2, or string_ends_with/2 to inject live SQL LIKE wildcards, turning a literal substring search into an attacker-controlled pattern match.
The escape helpers in AshSql.Expr prefix % and _ with a backslash but never escape a backslash already present in the input. Because backslash is the default LIKE escape character, the escaping defeats itself: the input \% becomes the pattern fragment \\%, where \\ is a literal backslash and the attacker's % remains a live wildcard. The search value stays parameterized, so this is confined to the LIKE pattern grammar rather than full SQL. An attacker can widen matches to probe values, slip past a negated contains(...) guard, or crash the query with a trailing lone backslash.
This issue affects ash_sql: from 0.1.1-rc.10 before 0.7.1.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 9% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AS
ash_sql · ash-project
0.1.1-rc.10 before 0.7.1; cfc7da474c5be2190fd62664a83a689377a8d512 before d95c55c64b1b42cc2fd30211a4913f3145156cd4 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-78691
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-78691
cna.erlef.org
https://cna.erlef.org/cves/CVE-2026-78691.html
github.com
https://github.com/ash-project/ash_sql/commit/d95c55c64b1b42cc2fd30211a4913f3145156cd4
github.com
https://github.com/ash-project/ash_sql/security/advisories/GHSA-5jgp-7mhc-6qqh
osv.dev
https://osv.dev/vulnerability/EEF-CVE-2026-78691
More from ash_sql
5.9
CVE-2026-77454
exists/2 predicate silently dropped on limited relationships with a parent() filter in AshSql
2.1
CVE-2026-81316
Same-named aggregates with differing filters are conflated in AshSql
2.1
CVE-2026-81318
Distinct-query aggregate drops the tenant schema prefix, leaking across tenants in AshSql
2.1
CVE-2026-80227
SQL string_trim removes only spaces, diverging from in-memory trimming in AshSql
