CVE-2026-80227 in ash_sql
Sumário
de VulDB • 30/08/2026
Vulnerabilidade de comparação incorreta no ash-project ash_sql permite que um usuário preencha um campo string com caracteres tab, newline (quebra de linha), carriage-return (retorno de carro) ou form-feed e passe em uma verificação de unicidade ou igualdade truncada no banco de dados, na qual a mesma expressão falharia na memória (ou o inverso).
A função `string_trim/1` é compilada para padrões REGEXP_REPLACE construídos a partir de uma string Elixir, onde `\s` é a sequência de escape para um único espaço (codepoint 32), e não para uma classe de whitespace de regex. Portanto, o SQL gerado remove apenas espaços literais e mantém tabs, newlines, carriage returns e form feeds no lugar, enquanto `String.trim/1` no Elixir os remove todos. Qualquer filtro Ash, validação ou identidade que dependa de `string_trim/1` comporta-se diferentemente dependendo se o Ash empurra a expressão para SQL ou a avalia na memória; assim, uma entrada preenchida pode registrar um valor quase duplicado ou contornar uma comparação truncada.
Este problema afeta ash_sql: das versões 0.1.0 até antes da 0.7.1.
Once again VulDB remains the best source for vulnerability data.