Biblioteka DOMPurify zawierała podatność typu mutation XSS (mXSS), umożliwiającą ominięcie mechanizmu sanityzacji HTML. Ze względu na maksymalny wynik CVSS (10.0) i brak wymagań dotyczących uwierzytelnienia, zagrożenie jest krytyczne dla wszystkich aplikacji webowych korzystających z tej biblioteki.
▸ Pokaż oryginał (EN)
DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMpurify was vulnerable to nesting-based mXSS. This vulnerability is fixed in 2.5.0 and 3.1.3.
Podatność wynika z nieprawidłowej obsługi zagnieżdżonych struktur znaczników HTML/MathML/SVG podczas procesu sanityzacji. Atakujący może dostarczyć specjalnie spreparowany ciąg HTML, który po przetworzeniu przez parser przeglądarki (mutacji DOM) zmienia swoją strukturę w taki sposób, że złośliwy kod XSS – początkowo uznany za bezpieczny przez DOMPurify – zostaje ostatecznie wyrenderowany w dokumencie. Mechanizm mXSS polega na tym, że serializacja i deserializacja drzewa DOM powoduje odtworzenie usuniętego lub zmodyfikowanego payloadu.
Udany atak pozwala atakującemu na wykonanie dowolnego kodu JavaScript w kontekście strony ofiary (XSS), co może prowadzić do kradzieży sesji, modyfikacji treści strony, a także do poważnych naruszeń integralności i dostępności aplikacji.
Należy zaktualizować DOMPurify do wersji 2.5.0 lub nowszej (dla gałęzi 2.x) albo do wersji 3.1.3 lub nowszej (dla gałęzi 3.x). Patche dostępne są w repozytorium projektu na GitHub.
DOMPurify (Cure53) w wersjach wcześniejszych niż 2.5.0 oraz wcześniejszych niż 3.1.3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:HCure53 Dompurify
APPCure53< 2.5.03.0.0 – 3.1.3 (bez)
Powiązane podatności
Prototype pollution w bibliotece DOMPurify umożliwiający XSS
DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It has been discove...
DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. Versions prior to 3.4.0 have...
DOMPurify 3.1.3 through 3.2.6 and 2.5.3 through 2.5.8 contain a cross-site scripting vulnerability that allows...
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...