GHSA-43cp-6p3q-2pc4
HtmlSanitizer vulnerable to Cross-site Scripting in Foreign Content
Quick fix
GHSA-43cp-6p3q-2pc4 — HtmlSanitizer: upgrade to the fixed version with the command below.
dotnet add package HtmlSanitizer --version 8.0.723Details
### 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:
1. Allowing one foreign element: `svg`, or `math` 2. 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.
Are you affected?
Enter the version of the package you're using.
Affected packages
0Fixed in: 8.0.723dotnet add package HtmlSanitizer --version 8.0.7238.1.0-betaFixed in: 8.1.722-betadotnet add package HtmlSanitizer --version 8.1.722-beta