Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-cj63-jhhr-wcxv

Опубликовано: 03 апр. 2026
Источник: github
Github: Прошло ревью
CVSS4: 5.3

Описание

DOMPurify USE_PROFILES prototype pollution allows event handlers

Summary

When USE_PROFILES is enabled, DOMPurify rebuilds ALLOWED_ATTR as a plain array before populating it with the requested allowlists. Because the sanitizer still looks up attributes via ALLOWED_ATTR[lcName], any Array.prototype property that is polluted also counts as an allowlisted attribute. An attacker who can set Array.prototype.onclick = true (or a runtime already subject to prototype pollution) can thus force DOMPurify to keep event handlers such as onclick even when they are normally forbidden. The provided PoC sanitizes <img onclick=...> with USE_PROFILES and adds the sanitized output to the DOM; the polluted prototype allows the event handler to survive and execute, turning what should be a blocklist into a silent XSS vector.

Impact

Prototype pollution makes DOMPurify accept dangerous event handler attributes, which bypasses the sanitizer and results in DOM-based XSS once the sanitized markup is rendered.

Credits

Identified by Cantina’s Apex (https://www.cantina.security).

Пакеты

Наименование

dompurify

npm
Затронутые версииВерсия исправления

<= 3.3.1

3.3.2

EPSS

Процентиль: 8%
0.00185
Низкий

5.3 Medium

CVSS4

Дефекты

CWE-1321

Связанные уязвимости

CVSS3: 6.1
ubuntu
11 дней назад

DOMPurify before 3.3.2 contains a prototype pollution vulnerability in USE_PROFILES mode that allows attackers to bypass attribute filtering by polluting Array.prototype properties. Attackers can set Array.prototype properties like onclick to true, causing DOMPurify to accept event handlers as allowlisted attributes and resulting in DOM-based XSS when sanitized markup is rendered.

CVSS3: 6.1
nvd
11 дней назад

DOMPurify before 3.3.2 contains a prototype pollution vulnerability in USE_PROFILES mode that allows attackers to bypass attribute filtering by polluting Array.prototype properties. Attackers can set Array.prototype properties like onclick to true, causing DOMPurify to accept event handlers as allowlisted attributes and resulting in DOM-based XSS when sanitized markup is rendered.

CVSS3: 6.1
debian
11 дней назад

DOMPurify before 3.3.2 contains a prototype pollution vulnerability in ...

EPSS

Процентиль: 8%
0.00185
Низкий

5.3 Medium

CVSS4

Дефекты

CWE-1321