Headline
GHSA-43cp-6p3q-2pc4: HtmlSanitizer vulnerable to Cross-site Scripting in Foreign Content
Impact
The vulnerability occurs in configurations where foreign content is allowed, i.e. either svg
or math
are in the list of allowed elements.
Specifically, the requirements for the vulnerability are:
- Allowing one foreign element:
svg
, ormath
- Comments or one raw text element:
iframe
,noembed
,xmp
,title
,noframes
,style
ornoscript
Configurations that meet the above requirements plus the following are vulnerable to an additional vulnerability:
- Any HTML integration element:
title
,desc
,mi
,mo
,mn
,ms
,mtext
,annotation-xml
.
In case an application sanitizes user input with a vulnerable configuration, an attacker could bypass the sanitization and inject arbitrary HTML, including JavaScript code.
Note that in the default configuration the vulnerability is not present.
Patches
The vulnerability has been fixed in versions 8.0.723 and 8.1.722-beta (preview version).
Workarounds
Disallow foreign elements svg
and math
. This is the case in the default configuration, which is therefore not affected by the vulnerability.
Impact
The vulnerability occurs in configurations where foreign content is allowed, i.e. either svg or math are in the list of allowed elements.
Specifically, the requirements for the vulnerability are:
- Allowing one foreign element: svg, or math
- Comments or one raw text element: iframe, noembed, xmp, title, noframes, style or noscript
Configurations that meet the above requirements plus the following are vulnerable to an additional vulnerability:
- Any HTML integration element: title, desc, mi, mo, mn, ms, mtext, annotation-xml.
In case an application sanitizes user input with a vulnerable configuration, an attacker could
bypass the sanitization and inject arbitrary HTML, including JavaScript code.
Note that in the default configuration the vulnerability is not present.
Patches
The vulnerability has been fixed in versions 8.0.723 and 8.1.722-beta (preview version).
Workarounds
Disallow foreign elements svg and math. This is the case in the default configuration, which is therefore not affected by the vulnerability.
References
- GHSA-43cp-6p3q-2pc4
- mganss/HtmlSanitizer@ab29319