TYPO3 CMS has Broken Access Control in its File Abstraction Layer
Impact
The path allowance check in GeneralUtility::isAllowedAbsPath() performed a plain string prefix comparison without requiring a directory separator boundary, causing a path like /var/www/html-other/secret.yaml to be incorrectly accepted as valid when the project root was /var/www/html. Administrator users with access to the File Abstraction Layer were able to create new file storage definitions pointing to directories outside the project root, bypassing this path check.
Source excerpt · OSVAffected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
| Affected range | Recorded fix |
|---|---|
| Earlier releases before 10.4.57Ecosystem versions | 10.4.57 |
| From 11.0.0 before 11.5.51Ecosystem versions | 11.5.51 |
| From 12.0.0 before 12.4.46Ecosystem versions | 12.4.46 |
| From 13.0.0 before 13.4.31Ecosystem versions | 13.4.31 |
| From 14.0.0 before 14.3.3Ecosystem versions | 14.3.3 |
Version evidence: OSV · GHSA-jf56-v8jc-jcc5
View original version evidence (262 explicit versions)
Original source description
Problem
The path allowance check in GeneralUtility::isAllowedAbsPath() performed a plain string prefix comparison without requiring a directory separator boundary, causing a path like /var/www/html-other/secret.yaml to be incorrectly accepted as valid when the project root was /var/www/html. Administrator users with access to the File Abstraction Layer were able to create new file storage definitions pointing to directories outside the project root, bypassing this path check.
Solution
Update to TYPO3 versions 10.4.57 ELTS, 11.5.51 ELTS, 12.4.46 ELTS, 13.4.31 LTS, 14.3.3 LTS that fix the problem described.
Credits
TYPO3 CMS thanks Wolfgang Klinger for reporting this issue, and to TYPO3 core & security team member Oliver Hader for fixing it.
Resources
References
- Security advisory github.com/TYPO3/typo3/security/advisories/GHSA-jf56-v8jc-jcc5
- Security advisory nvd.nist.gov/vuln/detail/CVE-2026-49738
- Patch github.com/TYPO3/typo3/commit/150a983a5d687cedcfc33bbe9c335d9a13fd05e5
- Patch github.com/TYPO3/typo3/commit/44c2fa9807944136218a0842e3051c0a379a002d
- Security advisory github.com/FriendsOfPHP/security-advisories/blob/master/typo3/cms-core/CVE-2026-49738.yaml
- Source reference github.com/TYPO3/typo3
- Security advisory typo3.org/security/advisory/typo3-core-sa-2026-016