// For flags

CVE-2021-21355

Unrestricted File Upload in Form Framework

Severity Score

8.6
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

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.

TYPO3 es un sistema de gestión de contenidos web de código abierto basado en PHP. En TYPO3 versiones anteriores a la 8.7.40, 9.5.25, 10.4.14, 11.1.1, debido a la falta de garantía de que las extensiones de archivo pertenecen a los tipos mime permitidos configurados, los atacantes pueden subir datos arbitrarios con extensiones de archivo arbitrarias - sin embargo, _fileDenyPattern_ por defecto bloquea con éxito archivos como _.htaccess_ o _malicious.php_. Además de eso, _UploadedFileReferenceConverter_ transforma los archivos subidos en objetos de modelo de dominio FileReference apropiados y maneja posibles subidas de archivos para otras extensiones también - dado que esas extensiones usan el marco MVC de Extbase, hacen uso de elementos FileReference en sus definiciones de modelo de dominio directas o heredadas y no implementaron su propio convertidor de tipos. En caso de que este escenario se aplique, _UploadedFileReferenceConverter_ acepta cualquier tipo mime de archivo y persigue los archivos en la ubicación predeterminada. De cualquier manera, los archivos subidos se colocan en la ubicación por defecto _/fileadmin/user_upload/_, en la mayoría de los escenarios manteniendo el nombre del archivo enviado - lo que permite a los atacantes referenciar directamente los archivos, o incluso adivinar correctamente los nombres de los archivos utilizados por otras personas, revelando esta información. No se requiere autenticación para explotar esta vulnerabilidad. Esto está corregido en las versiones 8.7.40, 9.5.25, 10.4.14, 11.1.1

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
High
Availability
Low
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
Partial
Integrity
Partial
Availability
Partial
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2020-12-22 CVE Reserved
  • 2021-03-23 CVE Published
  • 2023-10-27 EPSS Updated
  • 2024-08-03 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-434: Unrestricted Upload of File with Dangerous Type
  • CWE-552: Files or Directories Accessible to External Parties
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Typo3
Search vendor "Typo3"
Typo3
Search vendor "Typo3" for product "Typo3"
>= 8.0.0 < 8.7.40
Search vendor "Typo3" for product "Typo3" and version " >= 8.0.0 < 8.7.40"
-
Affected
Typo3
Search vendor "Typo3"
Typo3
Search vendor "Typo3" for product "Typo3"
>= 9.0.0 < 9.5.25
Search vendor "Typo3" for product "Typo3" and version " >= 9.0.0 < 9.5.25"
-
Affected
Typo3
Search vendor "Typo3"
Typo3
Search vendor "Typo3" for product "Typo3"
>= 10.0.0 < 10.4.14
Search vendor "Typo3" for product "Typo3" and version " >= 10.0.0 < 10.4.14"
-
Affected
Typo3
Search vendor "Typo3"
Typo3
Search vendor "Typo3" for product "Typo3"
>= 11.0.0 < 11.1.1
Search vendor "Typo3" for product "Typo3" and version " >= 11.0.0 < 11.1.1"
-
Affected