Vulnerability advisory
CVE-2024-25121
Improper Access Control Persisting File Abstraction Layer Entities via Data Handler in TYPO3
Also known as GHSA-rj3x-wvc6-5j66
- CVSS 3.x
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Affected versions
Repository
| Affected commits | Fixed by commit |
|---|---|
| GIT github.com/benjaminkott/bootstrap_package ↗ | |
| 87216a645395adbc8c2cfc7ddcf97f4ecf6a90bf through 87216a645395adbc8c2cfc7ddcf97f4ecf6a90bf | No fix listed |
| GIT github.com/typo3/typo3 ↗ | |
| 6a5e2d4097ef0a0e3ea955af93cf83810d6fa234 to before 7cd2396f0be8e4ce1a2554f0def6ebc4420ab436 | 7cd2396f0be8e4ce1a2554f0def6ebc4420ab436 |
| 36096733dea4bd6f6168209609fa879dc25c0138 to before 3f83ff31e72053761f33b975410fa2881174e0e5 | 3f83ff31e72053761f33b975410fa2881174e0e5 |
| fd8745e46bb11773e85524b8ee9650dabe340713 through fd8745e46bb11773e85524b8ee9650dabe340713 | No fix listed |
Also listed as affected (57)
| |
Description
TYPO3 is an open source PHP based web content management system released under the GNU GPL. In affected versions of TYPO3 entities of the File Abstraction Layer (FAL) could be persisted directly via DataHandler. This allowed attackers to reference files in the fallback storage directly and retrieve their file names and contents. The fallback storage ("zero-storage") is used as a backward compatibility layer for files located outside properly configured file storages and within the public web root directory. Exploiting this vulnerability requires a valid backend user account. Users are advised to update to TYPO3 version 8.7.57 ELTS, 9.5.46 ELTS, 10.4.43 ELTS, 11.5.35 LTS, 12.4.11 LTS, or 13.0.1 which fix the problem described. When persisting entities of the File Abstraction Layer directly via DataHandler, sys_file entities are now denied by default, and sys_file_reference & sys_file_metadata entities are not permitted to reference files in the fallback storage anymore. When importing data from secure origins, this must be explicitly enabled in the corresponding DataHandler instance by using $dataHandler->isImporting = true;.