Cross-Site Scripting via Rich-Text Content
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
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Composer package | typo3/cms | >= 10.0.0, < 10.4.19, >= 11.0.0, < 11.3.2, >= 9.0.0, < 9.5.29, >= 8.0.0, < 8.7.42, >= 7.0.0, < 7.6.53 | 10.4.19, 11.3.2, 9.5.29, 8.7.42, 7.6.53 |
| Composer package | typo3/cms-core | >= 7.0.0, < 7.6.53, >= 8.0.0, < 8.7.42, >= 10.0.0, < 10.4.19, >= 11.0.0, < 11.3.2, >= 9.0.0, < 9.5.29 | 7.6.53, 8.7.42, 10.4.19, 11.3.2, 9.5.29 |
References
- https://github.com/TYPO3/TYPO3.CMS/security/advisories/GHSA-c5c9-8c6m-727v
- https://github.com/TYPO3/typo3/security/advisories/GHSA-c5c9-8c6m-727v
- https://nvd.nist.gov/vuln/detail/CVE-2021-32768
- https://github.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms-core/CVE-2021-32768.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms/CVE-2021-32768.yaml
- https://typo3.org/security/advisory/typo3-core-sa-2021-013
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N- Weakness (CWE)
CWE-79- Platform
- Composer
- Package
typo3/cms, typo3/cms-core- Disclosed
- 19.08.2021
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-c5c9-8c6m-727v - CC BY 4.0
Vulnerability history: typo3/cms-core
All published vulnerabilities of this package (Composer package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 128
- First → latest
- 09.2018 09.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 1
- High 35
- Medium 84
- Low 8
Disclosures per year
- 2018: 2
- 2019: 0
- 2020: 13
- 2021: 15
- 2022: 34
- 2023: 3
- 2024: 38
- 2025: 8
- 2026: 15
-
Cross-Site Scripting via Rich-Text Content this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.