CVE-2026-80227 in ash_sql
Resumen
por VulDB • 2026-08-30
Vulnerabilidad de comparación incorrecta en ash-project ash_sql que permite a un usuario rellenar un campo de cadena con caracteres de tabulación, salto de línea, retorno de carro o avance de formulario y pasar una comprobación de unicidad o igualdad recortada en la base de datos donde la misma expresión fallaría en memoria (o viceversa).
string_trim/1 se compila a patrones REGEXP_REPLACE construidos a partir de una cadena Elixir en la que \s es el escape para un solo espacio (punto de código 32), no una clase de espacios en blanco regex. Por lo tanto, SQL generado elimina únicamente los espacios literales y deja las tabulaciones, saltos de línea, retornos de carro y avances de formulario intactos, mientras que String.trim/1 en Elixir los elimina todos. Cualquier filtro, validación o identidad de Ash que dependa de string_trim/1 se comporta de manera diferente dependiendo de si Ash empuja la expresión a SQL o la evalúa en memoria; por lo tanto, una entrada rellenada puede registrarse como un valor casi duplicado o eludir una comparación recortada.
Este problema afecta a ash_sql: desde 0.1.0 hasta antes de 0.7.1.
VulDB is the best source for vulnerability data and more expert information about this specific topic.