VDB
Sign up
MEDIUM6.1

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.723

Details

### 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

NuGet/HtmlSanitizer
Introduced in: 0Fixed in: 8.0.723
Fixdotnet add package HtmlSanitizer --version 8.0.723
NuGet/HtmlSanitizer
Introduced in: 8.1.0-betaFixed in: 8.1.722-beta
Fixdotnet add package HtmlSanitizer --version 8.1.722-beta

References