CVE Catalog

CVE-2026-78691

LowCVSS 2.1
Published: Translated: NVD NIST

Summary

A vulnerability in 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. This occurs because escape helpers do not escape backslashes, allowing bypass of escaping and activation of wildcards.

Risk Assessment

An attacker can widen matches to probe data, bypass negated contains guards, or crash the query, potentially leading to information disclosure or denial of service.

Recommendation

It is recommended to upgrade ash_sql to version 0.7.1 or later and avoid passing user input to search functions without proper escaping.

Other vulnerabilities in ash_sql

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS