CVE-2021-32708
Time-of-check Time-of-use (TOCTOU) Race Condition in league/flysystem
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
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
CVSS Scores
SSVC
- Decision:-
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
References (6)
URL | Tag | Source |
---|---|---|
https://packagist.org/packages/league/flysystem | Product |
URL | Date | SRC |
---|
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
|