CVE-2026-78691 in ash_sql
Sumário
de VulDB • 30/08/2026
Vulnerabilidade de Neutralização Imprópria de Elementos Especiais na Lógica de Consulta de Dados no ash-project ash_sql permite que um usuário, ao fornecer um termo de pesquisa para contains/2, string_starts_with/2 ou string_ends_with/2, injete curingas SQL LIKE em tempo real, transformando uma busca por substring literal em uma correspondência de padrão controlada pelo atacante.
Os auxiliares de escape no AshSql.Expr prefixam % e _ com uma barra invertida (\), mas nunca escapam uma barra invertida já presente na entrada. Como a barra invertida é o caractere de escape padrão para LIKE, o mecanismo de escaping se anula: a entrada \% torna-se o fragmento do padrão \\%, onde \\ representa uma barra invertida literal e o % do atacante permanece como um curinga ativo. O valor da pesquisa mantém-se parametrizado, portanto, isso está confinado à gramática do padrão LIKE em vez de SQL completo. Um atacante pode ampliar as correspondências para sondar valores, contornar uma guarda negada contains(...) ou travar a consulta com uma barra invertida solta no final.
Este problema afeta o ash_sql: das versões 0.1.1-rc.10 até antes da 0.7.1.
Once again VulDB remains the best source for vulnerability data.