CamelCase Catastrophe: How a Typo in TYPO3 Enabled RCE
Vulnerability ID: CVE-2026-0859
CVSS Score: 5.2
Published: 2026-01-13
A critical insecure deserialization vulnerability in TYPO3 CMS caused by a typographical error in the unserialize() options. A local attacker can escalate privileges to RCE by planting malicious serialized objects in the mail spool.
TL;DR
The TYPO3 developers attempted to secure the mail spooler by whitelisting allowed classes during deserialization. However, they used the configuration key 'allowedClasses' (camelCase) instead of the required 'allowed_classes' (snake_case). PHP silently ignored the invalid key, disabling the whitelist entirely. This allows an attacker with write access to the spool directory to execute arbitrary code via gadget chains.
⚠️ Exploit Status: POC
Technical Details
- CWE ID: CWE-502
- Attack Vector: Local (File Write)
- CVSS: 5.2 (Medium)
- Impact: Remote Code Execution (RCE)
- Configuration: transport_spool_type = file
- Exploit Status: PoC Available
Affected Systems
- TYPO3 CMS 14.0.0 - 14.0.1
- TYPO3 CMS 13.0.0 - 13.4.22
- TYPO3 CMS 12.0.0 - 12.4.40
- TYPO3 CMS 11.0.0 - 11.5.48
- TYPO3 CMS 10.0.0 - 10.4.54
-
TYPO3 CMS v14: 14.0.0 - 14.0.1 (Fixed in:
14.0.2) -
TYPO3 CMS v13: 13.0.0 - 13.4.22 (Fixed in:
13.4.23) -
TYPO3 CMS v12: 12.0.0 - 12.4.40 (Fixed in:
12.4.41)
Code Analysis
Commit: 3225d70
Fix insecure deserialization in FileSpool (Main)
- 'allowedClasses' => [...]
+ 'allowed_classes' => [...]
Commit: e0f0cee
Fix insecure deserialization in FileSpool (v13)
Backport of PolymorphicDeserializer fix
Exploit Details
- Hypothetical: Standard PHPGGC chains for Symfony/Guzzle likely applicable.
Mitigation Strategies
- Upgrade TYPO3 CMS to the latest patch level.
- Switch mail transport from 'file' spool to direct SMTP/Sendmail.
- Restrict filesystem permissions on the 'var/spool' directory.
Remediation Steps:
- Check
LocalConfiguration.phpfor$GLOBALS['TYPO3_CONF_VARS']['MAIL']['transport_spool_type'] = 'file'. - If set to 'file', update TYPO3 immediately using
composer update typo3/cms-core. - Verify the update by checking
typo3/sysext/core/Classes/Mail/FileSpool.phpfor the presence ofallowed_classes(snake_case).
References
Read the full report for CVE-2026-0859 on our website for more details including interactive diagrams and full exploit analysis.
Top comments (0)