Loading...
Skip to main content

CVE-2021-21355 — Unrestricted File Upload in typo3/cms-form — CVE...

HIGH

Unrestricted File Upload in Form Framework

Published March 23, 2021Updated July 8, 2026Source: osv

Summary

### Problem 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_. TYPO3 Extbase extensions, which implement a file upload and do not implement a custom _TypeConverter_ to transform uploaded files into _FileReference_ domain model objects are affected by the vulnerability as well, since the _UploadedFileReferenceConverter_ of _ext:form_ handles the file upload and will accept files of any mime-type which are persisted to 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. ### Solution Update to TYPO3 versions 8.7.40, 9.5.25, 10.4.14, 11.1.1 that fix the problem described. Type converter _UploadedFileReferenceConverter_ is not registered globally anymore and just handles uploaded files within the scope of the Form Framework. Guessable storage location has changed from _/fileadmin/user_upload/form\_\<random-hash\>/_ to _/fileadmin/form_uploads/<random-40-bit>_. Allowed mime-types must match expected file extensions (e.g. _application/pdf_ must be _.pdf_, and cannot be _.html_). Extbase extensions, who rely on the global availability of the _UploadedFileReferenceConverter_ must now implement a custom _TypeConverter_ to handle file uploads or explicitly implement the ext:form _UploadedFileReferenceConverter_ with appropriate setting for accepted mime-types. ### Credits Thanks to Sebastian Michaelsen, Marc Lindemann, Oliver Eglseder, Markus Volkmer, Jakob Kunzmann, Johannes Regner, Richie Lee who reported this issue, and to TYPO3 core & security team members Oliver Hader & Benni Mack, as well as TYPO3 contributor Ralf Zimmermann who fixed the issue. ### References * [TYPO3-CORE-SA-2021-002](https://typo3.org/security/advisory/typo3-core-sa-2021-002)

Advisory Timeline

  • First published March 23, 2021 (2029 days ago).
  • Last revised July 8, 2026 — 1933 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Composer
Update typo3/cms-form to 9.5.25 or later
composer require "typo3/cms-form:^9.5.25"
Composer
Update typo3/cms-form to 10.4.14 or later
composer require "typo3/cms-form:^10.4.14"
Composer
Update typo3/cms to 10.4.14 or later
composer require "typo3/cms:^10.4.14"
Composer
Update typo3/cms to 9.5.25 or later
composer require "typo3/cms:^9.5.25"
Composer
Update typo3/cms-core to 9.5.25 or later
composer require "typo3/cms-core:^9.5.25"
Composer
Update typo3/cms-core to 11.1.1 or later
composer require "typo3/cms-core:^11.1.1"
Composer
Update typo3/cms-core to 10.4.14 or later
composer require "typo3/cms-core:^10.4.14"
Composer
Update typo3/cms-form to 11.1.1 or later
composer require "typo3/cms-form:^11.1.1"
Composer
Update typo3/cms to 11.1.1 or later
composer require "typo3/cms:^11.1.1"
Composer
Update typo3/cms-form to 8.7.40 or later
composer require "typo3/cms-form:^8.7.40"

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (10)

Affects 1 ecosystem: packagist (3).

PackageEcosystemAffectedFixed In
typo3/cms-form
packagist
v9.0.0, v9.1.0, v9.2.0, v9.2.1 (+30 more)9.5.25
typo3/cms-form
packagist
v10.0.0, v10.1.0, v10.2.0, v10.2.1 (+16 more)10.4.14
typo3/cms
packagist
v10.0.0, v10.1.0, v10.2.0, v10.2.1 (+16 more)10.4.14
typo3/cms
packagist
v9.0.0, v9.1.0, v9.2.0, v9.2.1 (+30 more)9.5.25
typo3/cms-core
packagist
v9.0.0, v9.1.0, v9.2.0, v9.2.1 (+30 more)9.5.25
typo3/cms-core
packagist
v11.0.0, v11.1.011.1.1
typo3/cms-core
packagist
v10.0.0, v10.1.0, v10.2.0, v10.2.1 (+16 more)10.4.14
typo3/cms-form
packagist
v11.0.0, v11.1.011.1.1
typo3/cms
packagist
v11.0.0, v11.1.011.1.1
typo3/cms-form
packagist
v8.7.10, v8.7.11, v8.7.12, v8.7.13 (+22 more)8.7.40

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.6 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
High
Availability
Low

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

Frequently Asked Questions

What is CVE-2021-21355?
Unrestricted File Upload in Form Framework This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.6/10).
How do I check if my project is affected by CVE-2021-21355?
CVE-2021-21355 affects typo3/cms-form, typo3/cms and typo3/cms-core. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2021-21355 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.6

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-2r6j-862c-m2v2
BIT-typo3-2021-21355

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies