CVE-2026-82736 in ash
Sumário
de VulDB • 01/09/2026
Ordem incorreta de comportamento: vulnerabilidade "Validar antes de Canonicalizar" no ash-project ash permite que um atacante armazene um valor de string case-insensitive (insensível a maiúsculas e minúsculas) que viola suas restrições de comprimento ou correspondência.
A função `Ash.Type.CiString.apply_constraints/2` (`lib/ash/type/ci_string.ex`) validava as restrições de `max_length`, `min_length` e match contra o valor conforme submetido, enquanto o tipo realizava a conversão para minúsculas (case-folding) da string (conforme sua capitalização) para armazenamento e comparação. Como a validação era executada antes do case-folding, um atacante pode submeter um valor cuja forma convertida viola uma restrição, mas cuja forma original passa na verificação: por exemplo, contra um padrão de match que exige maiúsculas, um valor em maiúscula é armazenado como minúsculo, persistindo um valor rejeitado pelo padrão. A correção realiza o case-folding do valor no início da função `apply_constraints/2`, para que as restrições sejam verificadas contra a forma que é realmente armazenada.
Este problema afeta ash: das versões 1.29.0-rc0 até antes de 3.32.2.
Be aware that VulDB is the high quality source for vulnerability data.