// For flags

CVE-2021-32708

Time-of-check Time-of-use (TOCTOU) Race Condition in league/flysystem

Severity Score

8.1
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

Flysystem is an open source file storage library for PHP. The whitespace normalisation using in 1.x and 2.x removes any unicode whitespace. Under certain specific conditions this could potentially allow a malicious user to execute code remotely. The conditions are: A user is allowed to supply the path or filename of an uploaded file, the supplied path or filename is not checked against unicode chars, the supplied pathname checked against an extension deny-list, not an allow-list, the supplied path or filename contains a unicode whitespace char in the extension, the uploaded file is stored in a directory that allows PHP code to be executed. Given these conditions are met a user can upload and execute arbitrary code on the system under attack. The unicode whitespace removal has been replaced with a rejection (exception). For 1.x users, upgrade to 1.1.4. For 2.x users, upgrade to 2.1.1.

Flysystem es una biblioteca de almacenamiento de archivos de código abierto para PHP. La normalización de espacios en blanco usando en versiones 1.x y 2.x elimina cualquier espacio en blanco unicode. Bajo determinadas condiciones específicas, esto podría permitir potencialmente a un usuario malicioso ejecutar código de forma remota. Las condiciones son: Un usuario puede suministrar la ruta o el nombre de un archivo subido, la ruta o el nombre de archivo suministrado no se comprueban con respecto a los caracteres unicode, el nombre de la ruta suministrado se comprueba con respecto a una lista de denegación de extensión, no con respecto a una lista de autorización, la ruta o el nombre de archivo suministrados contienen un carácter de espacio en blanco unicode en la extensión, el archivo subido se almacena en un directorio que permite la ejecución de código PHP. Si se cumplen estas condiciones, un usuario puede subir y ejecutar código arbitrario en el sistema atacado. La eliminación de los espacios en blanco unicode ha sido reemplazada por un rechazo (excepción). Para usuarios de la versión 1.x, actualice a la versión 1.1.4. Para usuarios de la versión 2.x, actualice a la versión 2.1.1

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
Medium
Authentication
None
Confidentiality
Complete
Integrity
Complete
Availability
Complete
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2021-05-12 CVE Reserved
  • 2021-06-24 CVE Published
  • 2024-03-09 EPSS Updated
  • 2024-08-03 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Thephpleague
Search vendor "Thephpleague"
Flysystem
Search vendor "Thephpleague" for product "Flysystem"
>= 1.0.0 < 1.1.4
Search vendor "Thephpleague" for product "Flysystem" and version " >= 1.0.0 < 1.1.4"
-
Affected
Thephpleague
Search vendor "Thephpleague"
Flysystem
Search vendor "Thephpleague" for product "Flysystem"
>= 2.0.0 < 2.1.1
Search vendor "Thephpleague" for product "Flysystem" and version " >= 2.0.0 < 2.1.1"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
33
Search vendor "Fedoraproject" for product "Fedora" and version "33"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
34
Search vendor "Fedoraproject" for product "Fedora" and version "34"
-
Affected