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

DOMPurify XSS via Missing Rawtext Elements in SAFE_FOR_XML

DOMPurify 3.1.3 through 3.3.1 and 2.5.3 through 2.5.8, fixed in commit 2726c74, contain a cross-site scripting vulnerability that allows attackers to bypass attribute sanitization by exploiting five missing rawtext elements (noscript, xmp, noembed, noframes, iframe) in the SAFE_FOR_XML regex. Attackers can include payloads like </noscript><img src=x onerror=alert(1)> in attribute values to execute JavaScript when sanitized output is placed inside these unprotected rawtext contexts.

СредняяCVSS 5.3 · v4.0—Эксплойта нет Есть исправление
Опубликовано
3 мар. 2026 г.
Обновлено
17 июн. 2026 г.
EPSS
0,3 % · 26-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

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

JSON

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

21

Наблюдать

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

CVSS
21 / 40 · 5.3 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,3 %

Решение CISA SSVC

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

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

Оценка CNA и NVD

NVD
—
CNA · VulnCheck
5,3
NVD ещё не выставил свою оценку; показана оценка CNA.

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для сотен тысяч уязвимостей в базе; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

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

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

ВендорПродукт
cure53dompurify

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

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

  • cure53 dompurify2.5.3 и новее · до 2.5.8 включительно
  • cure53 dompurify3.1.3 и новее · до 3.3.1 включительно

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (VulnCheck). Не зависят от анализа CPE в NVD и обычно опережают его.

  • cure53 DOMPurify

    • 3.1.3 и новее · до 3.3.1 включительнозатронута · semver
    • 2.5.3 и новее · до 2.5.8 включительнозатронута · semver

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

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

ЭкосистемаПакетЗатронутый диапазонИсправление
Debian:12node-dompurifyвсе версии—
Debian:14node-dompurifyдо 3.3.2+dfsg-13.3.2+dfsg-1
npmdompurifyс 2.5.3 · до 2.5.92.5.9
npmdompurifyс 3.1.3 · до 3.3.23.3.2
openSUSE:Tumbleweedcactiдо 1.2.30+git306.82d5aef5-1.11.2.30+git306.82d5aef5-1.1

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

cure53: все записи

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

  • CVE-2024-48910DOMPurify vulnerable to tampering by prototype polution
    39Наблюдать
  • CVE-2026-47423DOMPurify XSS via `selectedcontent` re-clone
    32Наблюдать
  • CVE-2025-48050In DOMPurify through 3.2.5 before 6bc6d60, scripts/server.js does not ensure that a pathname is located under the current working directory.
    30Наблюдать
  • CVE-2026-41239DOMPurify has a SAFE_FOR_TEMPLATES bypass in RETURN_DOM mode
    27Наблюдать
  • CVE-2026-41238DOMPurify: Prototype Pollution to XSS Bypass via CUSTOM_ELEMENT_HANDLING Fallback
    27Наблюдать
  • CVE-2026-49978DOMPurify IN_PLACE Sanitization Bypass via Attached Shadow Root Inside <template>.content
    25Наблюдать

Исправление

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

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

Продукт / пакетИсправленная версияИсточник
debian:node-dompurify3.3.2+dfsg-1 · Debian:14Реестр пакетов (OSV)
npm:dompurify2.5.9Реестр пакетов (OSV)
npm:dompurify3.3.2Реестр пакетов (OSV)
opensuse:cacti1.2.30+git306.82d5aef5-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)

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

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

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

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

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

Хронология

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

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

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

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

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

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

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

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

  • CVE-2026-47423с разницей 133 дн.DOMPurify XSS via `selectedcontent` re-clone
    32Наблюдать
  • CVE-2026-41238с разницей 51 дн.DOMPurify: Prototype Pollution to XSS Bypass via CUSTOM_ELEMENT_HANDLING Fallback
    27Наблюдать
  • CVE-2026-41239с разницей 51 дн.DOMPurify has a SAFE_FOR_TEMPLATES bypass in RETURN_DOM mode
    27Наблюдать
  • CVE-2026-49978с разницей 133 дн.DOMPurify IN_PLACE Sanitization Bypass via Attached Shadow Root Inside <template>.content
    25Наблюдать
  • CVE-2026-41240с разницей 51 дн.DOMPurify: FORBID_TAGS bypassed by function-based ADD_TAGS predicate (asymmetry with FORBID_ATTR fix)
    24Наблюдать
  • CVE-2026-49458с разницей 133 дн.DOMPurify: Cross-realm IN_PLACE sanitization leaves executable markup intact via realm-bound `instanceof` checks
    24Наблюдать

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

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

—

Охват bug bounty

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

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

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

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

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

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

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

Вектор CVSS

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

nvd-secondary

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

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

Ошибка в коде

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

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

Уязвимый код

ts
commentEl.innerHTML = comment.body;

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

ts
commentEl.textContent = comment.body;

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

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

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

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

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

Источники

Все записи