Unrestricted File Upload in Form Framework
Description
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
TYPO3 contains an unrestricted file upload vulnerability in the Form Framework, allowing unauthenticated attackers to upload arbitrary files to a predictable location.
Vulnerability
Description
CVE-2021-21355 is an unrestricted file upload vulnerability in TYPO3 CMS, affecting versions prior to 8.7.40, 9.5.25, 10.4.14, and 11.1.1. The root cause is the lack of validation that file extensions correspond to configured allowed MIME types. Although the default fileDenyPattern blocks dangerous file extensions like .htaccess and .php, the UploadedFileReferenceConverter (from the ext:form extension) accepts files of any MIME type and persists them to the default location /fileadmin/user_upload/, retaining the original filename [2][3].
Exploitation
The vulnerability can be exploited remotely without authentication. An attacker can upload arbitrary files (e.g., HTML, SVG, or other executable content) by sending a crafted request to a TYPO3 instance that uses the Form Framework or any Extbase extension relying on the global UploadedFileReferenceConverter. The uploaded files are stored in a predictable location (/fileadmin/user_upload/) with the original filename, allowing direct access via URL [3][4].
Impact
Successful exploitation allows an attacker to upload malicious files that can be accessed directly, leading to information disclosure (e.g., guessing filenames of other users' uploads) or potential further attacks if the uploaded content is processed by the server. The CVSS score is 8.0 (High) with vector AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L [3][4].
Mitigation
The vulnerability is fixed in TYPO3 versions 8.7.40, 9.5.25, 10.4.14, and 11.1.1. The fix deregisters the UploadedFileReferenceConverter globally, restricts it to the Form Framework context, changes the storage location to a randomized path (/fileadmin/user_upload/form_/), and enforces MIME type to file extension matching [3][4].
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
typo3/cms-formPackagist | >= 8.0.0, < 8.7.40 | 8.7.40 |
typo3/cms-formPackagist | >= 9.0.0, < 9.5.25 | 9.5.25 |
typo3/cms-formPackagist | >= 10.0.0, < 10.4.14 | 10.4.14 |
typo3/cms-formPackagist | >= 11.0.0, < 11.1.1 | 11.1.1 |
typo3/cms-corePackagist | >= 10.0.0, < 10.4.14 | 10.4.14 |
typo3/cms-corePackagist | >= 11.0.0, < 11.1.1 | 11.1.1 |
typo3/cms-corePackagist | >= 9.0.0, < 9.5.25 | 9.5.25 |
typo3/cmsPackagist | >= 10.0.0, < 10.4.14 | 10.4.14 |
typo3/cmsPackagist | >= 11.0.0, < 11.1.1 | 11.1.1 |
typo3/cmsPackagist | >= 9.0.0, < 9.5.25 | 9.5.25 |
Affected products
5- osv-coords4 versions
>= 8.0.0, < 8.7.40+ 3 more
- (no CPE)range: >= 8.0.0, < 8.7.40
- (no CPE)range: >= 10.0.0, < 10.4.14
- (no CPE)range: >= 10.0.0, < 10.4.14
- (no CPE)range: >= 8.0.0, < 8.7.40
- TYPO3/TYPO3.CMSv5Range: >= 8.0.0, <= 8.7.39
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
7- github.com/advisories/GHSA-2r6j-862c-m2v2ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2021-21355ghsaADVISORY
- github.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms-core/CVE-2021-21355.yamlghsaWEB
- github.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms/CVE-2021-21355.yamlghsaWEB
- github.com/TYPO3/TYPO3.CMS/security/advisories/GHSA-2r6j-862c-m2v2ghsax_refsource_CONFIRMWEB
- packagist.org/packages/typo3/cms-formghsax_refsource_MISCWEB
- typo3.org/security/advisory/typo3-core-sa-2021-002ghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.