MediumGHSA-c5c9-8c6m-727vBIT-typo3-2021-32768CVE-2021-32768

Cross-Site Scripting via Rich-Text Content

Published 19 Aug 2021 · Updated 8 Jul 2026

Affected packages

Affected
>=7.0.0 <7.6.53
Fixed in
7.6.53
Update to the fixed version for your release line, for example:composer require typo3/cms-core:^7.6.53
Affected
>=8.0.0 <8.7.42
Fixed in
8.7.42
Update to the fixed version for your release line, for example:composer require typo3/cms-core:^8.7.42
Affected
>=10.0.0 <10.4.19
Fixed in
10.4.19
Update to the fixed version for your release line, for example:composer require typo3/cms-core:^10.4.19
Affected
>=11.0.0 <11.3.2
Fixed in
11.3.2
Update to the fixed version for your release line, for example:composer require typo3/cms-core:^11.3.2
Affected
>=9.0.0 <9.5.29
Fixed in
9.5.29
Update to the fixed version for your release line, for example:composer require typo3/cms-core:^9.5.29
typo3/cmsComposer
Affected
>=10.0.0 <10.4.19
Fixed in
10.4.19
Update to the fixed version for your release line, for example:composer require typo3/cms:^10.4.19
typo3/cmsComposer
Affected
>=11.0.0 <11.3.2
Fixed in
11.3.2
Update to the fixed version for your release line, for example:composer require typo3/cms:^11.3.2
typo3/cmsComposer
Affected
>=9.0.0 <9.5.29
Fixed in
9.5.29
Update to the fixed version for your release line, for example:composer require typo3/cms:^9.5.29
typo3/cmsComposer
Affected
>=8.0.0 <8.7.42
Fixed in
8.7.42
Update to the fixed version for your release line, for example:composer require typo3/cms:^8.7.42
typo3/cmsComposer
Affected
>=7.0.0 <7.6.53
Fixed in
7.6.53
Update to the fixed version for your release line, for example:composer require typo3/cms:^7.6.53

Details

> ### Meta > * 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 (5.7)

Problem

Failing to properly parse, sanitize and encode malicious rich-text content, the content rendering process in the website frontend is vulnerable to cross-site scripting. Corresponding rendering instructions via TypoScript functionality _HTMLparser_ do not consider all potentially malicious HTML tag & attribute combinations per default.

In addition, the lack of comprehensive default node configuration for rich-text fields in the backend user interface fosters this malfunction.

In default scenarios, a valid backend user account is needed to exploit this vulnerability. In case custom plugins used in the website frontend accept and reflect rich-text content submitted by users, no authentication is required.

Solution

Update to TYPO3 versions 7.6.53 ELTS, 8.7.42 ELTS, 9.5.29, 10.4.19, 11.3.2 that fix the problem described above.

Custom package _typo3/html-sanitizer_ - based on allow-lists only - takes care of sanitizing potentially malicious markup. The default behavior is based on safe and commonly used markup - however, this can be extended or restricted further in case it is necessary for individual scenarios.

During the frontend rendering process, sanitization is applied to the default TypoScript path lib.parseFunc, which is implicitly used by the Fluid view-helper instruction f:format.html. Rich-text data persisted using the backend user interface is sanitized as well. Implementation details are explained in corresponding ChangeLog documentation.

Credits

Thanks to Benjamin Stiber, Gert-Jan Jansma, Gábor Ács-Kurucz, Alexander Kellner, Richie Lee, Nina Rösch who reported this issue, and to TYPO3 security team member Oliver Hader, as well as TYPO3 contributor Susanne Moog who fixed the issue.

References

Is GHSA-c5c9-8c6m-727v 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/cms-core, and gives you the command that fixes it.

References

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