MediumGHSA-59jf-3q9v-rh6gCVE-2023-38500

By-passing Cross-Site Scripting Protection in HTML Sanitizer

Published 25 Jul 2023 · Updated 10 Sept 2026

Affected packages

Affected
>=1.0.0 <1.5.1
Fixed in
1.5.1
Update to the fixed version for your release line, for example:composer require typo3/html-sanitizer:^1.5.1
Affected
>=2.0.0 <2.1.2
Fixed in
2.1.2
Update to the fixed version for your release line, for example:composer require typo3/html-sanitizer:^2.1.2

Details

> ### CVSS: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N/E:F/RL:O/RC:C (4.4)

Problem

Due to an encoding issue in the serialization layer, malicious markup nested in a noscript element was not encoded correctly. noscript is disabled in the default configuration, but might have been enabled in custom scenarios. This allows bypassing the cross-site scripting mechanism of `typo3/html-sanitizer`.

Solution

Update to typo3/html-sanitizer versions 1.5.1 or 2.1.2 that fix the problem described.

Credits

Thanks to David Klein and Yaniv Nizry who reported this issue, and to TYPO3 security team members Oliver Hader and Benjamin Franzke who fixed the issue.

References

Is GHSA-59jf-3q9v-rh6g in any of your client repos?

Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected typo3/html-sanitizer, and gives you the command that fixes it.

References

Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.