TYPO3-CORE-SA-2011-004: Remote Code Execution in TYPO3 Core
December 16, 2011
It has been discovered that TYPO3 Core is vulnerable to Remote Code Execution.
Component Type: TYPO3 Core
Affected Versions: 4.5.0 up to 4.5.8, 4.6.0 and 4.6.1 (+ development releases of 4.7 branch)
Vulnerability Types: Remote Code Execution
Overall Severity: Critical
Release Date: December 16, 2011
Vulnerable subcomponent: TYPO3 workspaces
Vulnerability Type: Remote Code Execution
Problem Description: A PHP file which is part of the workspaces system extension does not validate passed arguments.
You are only vulnerable if all of the following conditions are met:
- You are using TYPO3 version 4.5.0 up to 4.5.8, 4.6.0 or 4.6.1 (+ development releases of 4.7 branch).
- You have all of following PHP configuration variables set to "on": register_globals ("off" by default, advised to be "off" in TYPO3 Security Guide), allow_url_include ("off" by default) and allow_url_fopen ("on" by default)
If you are using the Suhosin PHP extension you are only vulnerable if you have additionally put URL schemes in the configuration variable "suhosin.executor.include.whitelist".
The workspaces system extension does not need to be activated for this vulnerability to exist.
Possible Impact: A crafted request to a vulnerable TYPO3 installation will allow an attacker to load PHP code from an external source and to execute it on the TYPO3 installation.
Solution: You can choose one of the solutions below:
- Update to the TYPO3 version 4.5.9 or 4.6.2 that fix the problem described!
- Set at least one of following PHP configuration variables to "off": register_globals, allow_url_include and allow_url_fopen
- Apply the patch that is linked below!
- Set up a mod_security rule:
SecRule ARGS:BACK_PATH "^(https?|ftp)" "deny"
Patch: how to patch
- Patch for TYPO3 version 4.5.x and 4.6.x (md5 sum: 3779a884b87b93b874b8a21330f43533)
Note: We have been informed that this vulnerability has already massively been tried to be exploited.
Credits: Credits go to Björn Pedersen and Christian Toffolo who discovered and reported the issue and the Security Team member Helmut Hummel for providing the patch.
General Advice: Follow the recommendations that are given in the TYPO3 Security Guide. Please subscribe to the typo3-announce mailing list.