Cross-Site Scripting in Fluid view helpers
Published 21 Dec 2020 · Updated 10 Sept 2026
Affected packages
- Affected
- >=9.0.0 <9.5.23
- Fixed in
- 9.5.23
composer require typo3/cms-core:^9.5.23- Affected
- >=10.0.0 <10.4.10
- Fixed in
- 10.4.10
composer require typo3/cms-core:^10.4.10- Affected
- >=8.7.0 <8.7.38
- Fixed in
- 8.7.38
composer require typo3/cms-core:^8.7.38- Affected
- >=10.0.0 <10.4.10
- Fixed in
- 10.4.10
composer require typo3/cms:^10.4.10- Affected
- >=9.0.0 <9.5.23
- Fixed in
- 9.5.23
composer require typo3/cms:^9.5.23- Affected
- >=8.7.0 <8.7.38
- Fixed in
- 8.7.38
composer require typo3/cms:^8.7.38Details
> ### 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:C (5.7)
> * CWE-79
Problem
It has been discovered that system extension Fluid (typo3/cms-fluid) of the TYPO3 core is vulnerable to cross-site scripting passing user-controlled data as argument to Fluid view helpers.
<f:form ... fieldNamePrefix="{payload}" />
<f:be.labels.csh ... label="{payload}" />
<f:be.menus.actionMenu ... label="{payload}" />Solution
Update to TYPO3 versions 9.5.23 or 10.4.10 that fix the problem described.
Credits
Thanks to TYPO3 security team member Oliver Hader who reported this issue and to TYPO3 security team members Helmut Hummel & Oliver Hader who fixed the issue.
References
Is GHSA-vqqx-jw6p-q3rf 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
- Linkgithub.com/TYPO3/TYPO3.CMS/security/advisories/GHSA-vqqx-jw6p-q3rf
- Advisorynvd.nist.gov/vuln/detail/CVE-2020-26227
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms-core/CVE-2020-26227.yaml
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms/CVE-2020-26227.yaml
- Linkpackagist.org/packages/typo3/cms-core
- Linktypo3.org/security/advisory/typo3-core-sa-2020-010
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.