CVE-2026-82736 in ash
Сводка
по VulDB • 01.09.2026
Неверный порядок выполнения операций (валидация до канонизации): уязвимость в ash-project/ash позволяет злоумышленнику сохранить значение строки с учетом регистра, которое нарушает ограничения по длине или соответствию шаблону.
Функция `Ash.Type.CiString.apply_constraints/2` (`lib/ash/type/ci_string.ex`) проверяла ограничения `max_length`, `min_length` и `match` против значения в том виде, в котором оно было отправлено, тогда как тип приводил строку к нижнему регистру (согласно правилам регистра) для хранения и сравнения. Поскольку проверка выполнялась до приведения регистра, злоумышленник может отправить значение, форма которого после преобразования нарушает ограничение, но исходная форма проходит проверку: например, при использовании шаблона, требующего заглавные буквы, значение в верхнем регистре будет сохранено в нижнем регистре и останется доступным для использования, хотя шаблон должен был его отклонить. Исправление приводит строку к нижнему регистру в начале функции `apply_constraints/2`, поэтому ограничения проверяются против той формы, которая фактически сохраняется.
Эта проблема затрагивает пакет ash: начиная с версии 1.29.0-rc0 до (не включая) 3.32.2.
If you want to get best quality of vulnerability data, you may have to visit VulDB.