Skip to content

By-passing Cross-Site Scripting Protection in HTML Sanitizer

Moderate
ohader published GHSA-hvwx-qh2h-xcfj Dec 13, 2022

Package

composer typo3/html-sanitizer (Composer)

Affected versions

1.0.0-1.0.7, 2.0.0-2.1.0

Patched versions

1.5.0, 2.1.1

Description

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

Problem

Due to a parsing issue in the upstream package masterminds/html5, malicious markup used in a sequence with special HTML CDATA sections cannot be filtered and sanitized. This allows bypassing the cross-site scripting mechanism of typo3/html-sanitizer.

Besides that, the upstream package masterminds/html5 provides HTML raw text elements (script, style, noframes, noembed and iframe) as DOMText nodes, which were not processed and sanitized further. None of the mentioned elements were defined in the default builder configuration, that's why only custom behaviors, using one of those tag names, were vulnerable to cross-site scripting.

Solution

Update to typo3/html-sanitizer versions 1.5.0 or 2.1.1 that fix the problem described.

Credits

Thanks to David Klein who reported this issue, and to TYPO3 security team member Oliver Hader who fixed the issue.

Severity

Moderate
6.1
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

CVE ID

CVE-2022-23499

Weaknesses

Credits