CVE-2021-21355 json
Unrestricted File Upload in Form Framework
published 2021-03-23 5 y ago modified 2026-07-08 4 mo ago also BIT-typo3-2021-21355 , EUVD-2021-0587 , GHSA-2r6j-862c-m2v2
- cvss
- 8.6
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.6%
- EPSS 1.6% chance of exploitation in 30 days, percentile 76%
- public exploits
- 0
- none known
Summary
TYPO3 is an open source PHP based web content management system. In TYPO3 before versions 8.7.40, 9.5.25, 10.4.14, 11.1.1, due to the lack of ensuring file extensions belong to configured allowed mime-types, attackers can upload arbitrary data with arbitrary file extensions - however, default _fileDenyPattern_ successfully blocked files like _.htaccess_ or _malicious.php_. Besides that, _UploadedFileReferenceConverter_ transforming uploaded files into proper FileReference domain model objects handles possible file uploads for other extensions as well - given those extensions use the Extbase MVC framework, make use of FileReference items in their direct or inherited domain model definitions and did not implement their own type converter. In case this scenario applies, _UploadedFileReferenceConverter_ accepts any file mime-type and persists files in the default location. In any way, uploaded files are placed in the default location _/fileadmin/user_upload/_, in most scenarios keeping the submitted filename - which allows attackers to directly reference files, or even correctly guess filenames used by other individuals, disclosing this information. No authentication is required to exploit this vulnerability. This is fixed in versions 8.7.40, 9.5.25, 10.4.14, 11.1.1.
Patch / fix
- packagist typo3/cms-form 8.7.40, 9.5.25, 10.4.14, 11.1.1
- packagist typo3/cms-core 9.5.25, 10.4.14, 11.1.1
- packagist typo3/cms 9.5.25, 10.4.14, 11.1.1
- bitnami typo3 8.7.40, 9.5.25, 10.4.14, 11.1.1
- typo3 typo3 8.7.40, 9.5.25, 10.4.14, 11.1.1
Exploit prediction
1.63% chance of exploitation in the next 30 days, higher than 76% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L |
| GitHub | 3.1 | 8.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L/E:F/RL:O/RC:C |
| NVD | 3.1 | 8.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| OSV | 3.1 | 8.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | typo3/cms-form | >=8.0.0, <8.7.40 >=9.0.0, <9.5.25 >=10.0.0, <10.4.14 >=11.0.0, <11.1.1 |
8.7.40 9.5.25 10.4.14 11.1.1 |
| packagist | typo3/cms-core | >=10.0.0, <10.4.14 >=11.0.0, <11.1.1 >=9.0.0, <9.5.25 |
10.4.14 11.1.1 9.5.25 |
| packagist | typo3/cms | >=10.0.0, <10.4.14 >=11.0.0, <11.1.1 >=9.0.0, <9.5.25 |
10.4.14 11.1.1 9.5.25 |
| bitnami | typo3 | >=8.0.0, <8.7.40 >=9.0.0, <9.5.25 >=10.0.0, <10.4.14 >=11.0.0, <11.1.1 |
8.7.40 9.5.25 10.4.14 11.1.1 |
Affected products
- TYPO3 TYPO3.CMS
Classification
References
-
typo3.org
/security/advisory/typo3-core-sa-2021-002
web, vendor-advisory
-
packagist.org
/packages/typo3/cms-form
web, release-notes, third-party-advisory
-
github.com
/TYPO3/TYPO3.CMS/security/advisories/GHSA-2r6j-862c-m2v2
web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-21355
advisory
-
github.com
/FriendsOfPHP/security-advisories/blob/master/typo3/cms-core/CVE-2021-21355.yaml
web
-
github.com
/FriendsOfPHP/security-advisories/blob/master/typo3/cms/CVE-2021-21355.yaml
web
Sources
- CVE List CVE-2021-21355
- GitHub Advisory GHSA-2r6j-862c-m2v2
- NVD CVE-2021-21355
- OSV BIT-typo3-2021-21355
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.