Cross-Site Scripting in ternary conditional operator
Published 8 Oct 2020 · Updated 10 Sept 2026
Affected packages
- Affected
- >=2.0.0 <2.0.5
- Fixed in
- 2.0.5
composer require typo3fluid/fluid:^2.0.5- Affected
- >=2.1.0 <2.1.4
- Fixed in
- 2.1.4
composer require typo3fluid/fluid:^2.1.4- Affected
- >=2.2.0 <2.2.1
- Fixed in
- 2.2.1
composer require typo3fluid/fluid:^2.2.1- Affected
- >=2.3.0 <2.3.5
- Fixed in
- 2.3.5
composer require typo3fluid/fluid:^2.3.5- Affected
- >=2.4.0 <2.4.1
- Fixed in
- 2.4.1
composer require typo3fluid/fluid:^2.4.1- Affected
- >=2.5.0 <2.5.5
- Fixed in
- 2.5.5
composer require typo3fluid/fluid:^2.5.5- Affected
- >=2.6.0 <2.6.1
- Fixed in
- 2.6.1
composer require typo3fluid/fluid:^2.6.1- Affected
- >=8.0.0 <8.7.25
- Fixed in
- 8.7.25
composer require typo3/cms-core:^8.7.25- Affected
- >=9.0.0 <9.5.6
- Fixed in
- 9.5.6
composer require typo3/cms-core:^9.5.6- Affected
- >=8.0.0 <8.7.25
- Fixed in
- 8.7.25
composer require typo3/cms:^8.7.25- Affected
- >=9.0.0 <9.5.6
- Fixed in
- 9.5.6
composer require typo3/cms:^9.5.6Details
> ### Meta
> * CVSS: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N/E:F/RL:O/RC:C(5.0)
> * CWE-79
---
:information_source: This vulnerability has been fixed in May 2019 already, CVE and GHSA were assigned later in October 2020
---
Problem
It has been discovered that the Fluid Engine (package typo3fluid/fluid) is vulnerable to cross-site scripting when making use of the ternary conditional operator in templates like the following.
{showFullName ? fullName : defaultValue}Solution
Update to versions 2.0.5, 2.1.4, 2.2.1, 2.3.5, 2.4.1, 2.5.5 or 2.6.1 of this typo3fluid/fluid package that fix the problem described.
Updated versions of this package are bundled in following TYPO3 (typo3/cms-core) releases:
- TYPO3 v8.7.25 (using
typo3fluid/fluidv2.5.5) - TYPO3 v9.5.6 (using
typo3fluid/fluidv2.6.1)
Credits
Thanks to Bill Dagou who reported this issue and to TYPO3 core merger Claus Due who fixed the issue.
References
Is GHSA-7733-hjv6-4h47 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 typo3fluid/fluid, and gives you the command that fixes it.
References
- Linkgithub.com/TYPO3/Fluid/security/advisories/GHSA-7733-hjv6-4h47
- Advisorynvd.nist.gov/vuln/detail/CVE-2020-15241
- Linkgithub.com/TYPO3/Fluid/commit/9ef6a8ffff2e812025fc0701b4ce72eea6911a3d
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms-core/CVE-2020-15241.yaml
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms/CVE-2020-15241.yaml
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/typo3fluid/fluid/CVE-2020-15241.yaml
- Packagegithub.com/TYPO3/Fluid
- Linktypo3.org/security/advisory/typo3-core-sa-2019-013
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.