Перейти к содержимому
Noroxi
NVD / CVE Program· CNA mitre

CVE-2021-28957: An XSS vulnerability was discovered in python-lxml's clean module versions before 4.6.3.

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 25/100)

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 4% (FIRST EPSS); выше, чем у 90,6% записей.
  • Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Пользователь должен открыть ссылку или посетить страницу. Особые условия не требуются; воспроизводится стабильно.
  • Исправленная версия: babel (AlmaLinux:8) 2.5.1-10.module_el8.6.0+2781+fed64c13; python-nose-docs (AlmaLinux:8) 1.3.7-31.module_el8.6.0+2781+fed64c13, 1.3.7-31.module_el8.5.0+2569+5c5719bc; python-psycopg2-doc (AlmaLinux:8) 2.7.5-7.module_el8.6.0+2781+fed64c13.

Пока низкий приоритет. Обновитесь до babel (AlmaLinux:8) 2.5.1-10.module_el8.6.0+2781+fed64c13; python-nose-docs (AlmaLinux:8) 1.3.7-31.module_el8.6.0+2781+fed64c13, 1.3.7-31.module_el8.5.0+2569+5c5719bc; python-psycopg2-doc (AlmaLinux:8) 2.7.5-7.module_el8.6.0+2781+fed64c13 или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

An XSS vulnerability was discovered in python-lxml's clean module versions before 4.6.3. When disabling the safe_attrs_only and forms arguments, the Cleaner class does not remove the formaction attribute allowing for JS to bypass the sanitizer. A remote attacker could exploit this flaw to run arbitrary JS code on users who interact with incorrectly sanitized HTML. This issue is patched in lxml 4.6.3.

СредняяCVSS 6.1 · v3.1—Эксплойта нет Есть исправление
Опубликовано
21 мар. 2021 г.
Обновлено
16 июн. 2026 г.
EPSS
4,0 % · 90-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

25

Наблюдать

Пока низкий приоритет.

CVSS
24 / 40 · 6.1 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
1 / 30 · 4,0 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
нет
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Публичного эксплойта нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2021-28957

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

У вас WordPress? Проверьте сайт бесплатно в WP Lens

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

ВендорПродукт
lxmllxml
debiandebian linux
fedoraprojectfedora
netappsnapcenter
oraclezfs storage appliance kit

Ограничьте последствия XSS

Это уязвимость межсайтового скриптинга (XSS). Хорошо настроенная Content-Security-Policy её не устраняет, но сильно снижает последствия. Бесплатно проверьте CSP и другие заголовки безопасности сайта.

Проверить заголовки

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • debian debian linux10.0
  • debian debian linux9.0
  • fedoraproject fedora33
  • fedoraproject fedora34
  • lxml lxmlдо 4.6.3
  • netapp snapcenterвсе версии
  • oracle zfs storage appliance kit8.8

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
AlmaLinux:8babelдо 2.5.1-10.module_el8.6.0+2781+fed64c132.5.1-10.module_el8.6.0+2781+fed64c13
AlmaLinux:8python-nose-docsдо 1.3.7-31.module_el8.6.0+2781+fed64c131.3.7-31.module_el8.6.0+2781+fed64c13
AlmaLinux:8python-nose-docsдо 1.3.7-31.module_el8.5.0+2569+5c5719bc1.3.7-31.module_el8.5.0+2569+5c5719bc
AlmaLinux:8python-psycopg2-docдо 2.7.5-7.module_el8.6.0+2781+fed64c132.7.5-7.module_el8.6.0+2781+fed64c13
AlmaLinux:8python-sqlalchemy-docдо 1.3.2-2.module_el8.6.0+2781+fed64c131.3.2-2.module_el8.6.0+2781+fed64c13
AlmaLinux:8python-sqlalchemy-docдо 1.3.2-2.module_el8.5.0+2569+5c5719bc1.3.2-2.module_el8.5.0+2569+5c5719bc
AlmaLinux:8python2-attrsдо 17.4.0-10.module_el8.6.0+2781+fed64c1317.4.0-10.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-babelдо 2.5.1-10.module_el8.6.0+2781+fed64c132.5.1-10.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-backportsдо 1.0-16.module_el8.6.0+2781+fed64c131.0-16.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-backports-ssl_match_hostnameдо 3.5.0.1-12.module_el8.6.0+2781+fed64c133.5.0.1-12.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-bsonдо 3.7.0-1.module_el8.6.0+2781+fed64c133.7.0-1.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-chardetдо 3.0.4-10.module_el8.6.0+2781+fed64c133.0.4-10.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-coverageдо 4.5.1-4.module_el8.6.0+2781+fed64c134.5.1-4.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-Cythonдо 0.28.1-7.module_el8.6.0+2781+fed64c130.28.1-7.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-dnsдо 1.15.0-10.module_el8.6.0+2781+fed64c131.15.0-10.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-docsдо 2.7.16-2.module_el8.6.0+2781+fed64c132.7.16-2.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-docs-infoдо 2.7.16-2.module_el8.6.0+2781+fed64c132.7.16-2.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-docutilsдо 0.14-12.module_el8.6.0+2781+fed64c130.14-12.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-funcsigsдо 1.0.2-13.module_el8.6.0+2781+fed64c131.0.2-13.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-idnaдо 2.5-7.module_el8.6.0+2781+fed64c132.5-7.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-ipaddressдо 1.0.18-6.module_el8.6.0+2781+fed64c131.0.18-6.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-jinja2до 2.10-9.module_el8.6.0+2781+fed64c132.10-9.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-markupsafeдо 0.23-19.module_el8.6.0+2781+fed64c130.23-19.module_el8.6.0+2781+fed64c13
AlmaLinux:8python2-mockдо 2.0.0-13.module_el8.6.0+2781+fed64c132.0.0-13.module_el8.6.0+2781+fed64c13

+96

Тот же продукт

lxml: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-49825lxml: javascript: URL bypass in Cleaner via xlink:href
    32Наблюдать
  • CVE-2022-2309NULL Pointer Dereference in lxml/lxml
    31Наблюдать
  • CVE-2026-41066lxml: Default configuration of iterparse() and ETCompatXMLParser() allows XXE to local files
    30Наблюдать

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2018-197872 дек. 2018 г. · An issue was discovered in lxml before 4.2.5.
    25Наблюдать
  • ← РаньшеCVE-2020-277833 дек. 2020 г. · A XSS vulnerability was discovered in python-lxml's clean module.
    25Наблюдать
  • Позже →CVE-2021-4381813 дек. 2021 г. · HTML Cleaner allows crafted and SVG embedded scripts to pass through
    29Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
almalinux:babel2.5.1-10.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python-nose-docs1.3.7-31.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python-psycopg2-doc2.7.5-7.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python-sqlalchemy-doc1.3.2-2.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python2-attrs17.4.0-10.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python2-babel2.5.1-10.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python2-backports1.0-16.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python2-backports-ssl_match_hostname3.5.0.1-12.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python2-bson3.7.0-1.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python2-chardet3.0.4-10.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python2-Cython0.28.1-7.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:python2-PyMySQL0.8.0-10.module_el8.6.0+2781+fed64c13 · AlmaLinux:8Реестр пакетов (OSV)
alpine:py3-lxml4.6.3-r0 · Alpine:v3.16Реестр пакетов (OSV)
debian:lxml4.6.3-1 · Debian:12Реестр пакетов (OSV)
opensuse:python-lxml4.0.0-150000.4.3.1 · openSUSE:Leap 15.3Реестр пакетов (OSV)
opensuse:translate-toolkit3.3.6-1.3 · openSUSE:TumbleweedРеестр пакетов (OSV)
PyPI:lxml4.6.3Реестр пакетов (OSV)
red hat:rh-python38-babel0:2.7.0-12.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python0:3.8.11-2.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-babel0:2.7.0-12.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-cryptography0:2.8-5.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-cryptography-debuginfo0:2.8-5.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-debug0:3.8.11-2.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-debuginfo0:3.8.11-2.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-devel0:3.8.11-2.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-idle0:3.8.11-2.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-jinja20:2.10.3-6.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-libs0:3.8.11-2.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
red hat:rh-python38-python-lxml0:4.4.1-7.el7 · Red Hat:rhel_software_collections:3::el7Реестр пакетов (OSV)
rocky linux:babel0:2.5.1-10.module+el8.5.0+706+735ec4b3 · Rocky Linux:8Реестр пакетов (OSV)

+23

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

Истории пока нет (накапливается ежедневным заданием EPSS).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Пользователь должен открыть ссылку или посетить страницу.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
низкое · данные могут быть прочитаны
Целостность
низкое · данные или конфигурация могут быть изменены
Доступность
нет

Влияние может выйти за пределы уязвимого компонента (область действия меняется).

Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Требуется
Область действия
Изменяется
Влияние на конфиденциальность
Низкое
Влияние на целостность
Низкое
Влияние на доступность
Нет

Вектор CVSS

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

nvd-primary

Первопричина

Пользовательский контент вставляется в страницу как HTML. Браузер интерпретирует его как код, а не как данные.

Ошибка в коде

Весь класс CWE-79

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

ts
commentEl.innerHTML = comment.body;

Исправленный код

ts
commentEl.textContent = comment.body;

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Все записи