TYPO3-CORE-SA-2011-004: Remote Code Execution in TYPO3 Core

Categories: TYPO3 CMS Created by Marcus Krause
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

Severity: Critical

Suggested CVSS v2.0: AV:N/AC:M/Au:N/C:C/I:C/A:C/E:F/RL:OF/RC:C (What's that?)

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:

  1. 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).
  2. 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:

  1. Update to the TYPO3 version 4.5.9 or 4.6.2 that fix the problem described!
  2. Set at least one of following PHP configuration variables to "off": register_globals, allow_url_include and allow_url_fopen
  3. Apply the patch that is linked below!
  4. Set up a mod_security rule:
    SecRule  ARGS:BACK_PATH  "^(https?|ftp)"  "deny"

Patch: how to patch

  1. 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.