TYPO3-CORE-SA-2014-003: Link spoofing and cache poisoning vulnerabilities in TYPO3 CMS

Categories: TYPO3 CMS Created by Helmut Hummel
It has been discovered that TYPO3 CMS is vulnerable to Link Spoofing and Cache Poisoning.

Component Type: TYPO3 CMS

Vulnerability Types: Link Spoofing, Cache Poisoning

Overall Severity: Medium

Release Date: December 10, 2014

Vulnerable subcomponent: Frontend Rendering

Vulnerability Type: Link Spoofing

Affected Versions: Versions 4.5.0 to 4.5.38, 4.6.0 to 4.6.18, 4.7.0 to 4.7.20, 6.0.0 to 6.0.14, 6.1.0 to 6.1.12 and 6.2.0 to 6.2.8, 7.0.0 to 7.0.1

Severity: Medium

Suggested CVSS v2.0: AV:N/AC:L/Au:N/C:P/I:P/A:N/E:F/RL:OF/RC:C

CVE: CVE-2014-9508

Problem Description: An attacker could forge a request, which modifies anchor only links on the homepage of a TYPO3 installation in a way that they point to arbitrary domains, if the configuration option config.prefixLocalAnchors is used with any possible value. TYPO3 versions 4.6.x and higher are only affected if the homepage is not a shortcut to a different page. AS an additional pre-condition URL rewriting must be enabled in the web server, which typically is, when using extensions like realurl or cooluri.

Installation where config.absRefPrefix is additionally set to any value are not affected by this vulnerability.

Example of affected configuration:

TypoScript:

config.absRefPrefix =
config.prefixLocalAnchors = all 
page = PAGE 
page.10 = TEXT 
page.10.value = <a href="#skiplinks">Skiplinks</a> 

.htaccess:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule .* index.php [L] 

Solution: Set config.absRefPrefix to a value fitting your installation

or

Solution: Update to TYPO3 versions 4.5.39, 6.2.9 or 7.0.2 that fix the problem described.

Important Note: Since the changes provided with the TYPO3 update change the way the prefix for local anchors is generated, there might be cases where the update breaks functionality. The impact of the breakage is that the page is reloaded in the browser when a user follows a link where previously the browser only jumped to a certain section of the current page.

Credits: Thanks to Gernot Leitgab who discovered and reported the vulnerability.

Vulnerability Type: Cache Poisoning

Affected Versions: Versions 4.5.0 to 4.5.38, 4.6.0 to 4.6.18, 4.7.0 to 4.7.20, 6.0.0 to 6.0.14, 6.1.0 to 6.1.12 and 6.2.0 to 6.2.8, 7.0.0 to 7.0.1

Severity: Low

Suggested CVSS v2.0: AV:N/AC:L/Au:N/C:N/I:P/A:N/E:F/RL:OF/RC:C

CVE: not assigned yet

Problem Description: A request URL with arbitrary arguments, but still pointing to the home page of  a TYPO3 installation can be cached if the configuration option config.prefixLocalAnchors is used with the values "all" or "cached". The impact of this vulnerability is that unfamiliar looking links to the home page can end up in the cache, which leads to a reload of the page in the browser when section links are followed by web page visitors, instead of just directly jumping to the requested section of the page. TYPO3 versions 4.6.x and higher are only affected if the homepage is not a shortcut to a different page.

Solution: Removing the configuration options config.prefixLocalAnchors (and optionally also config.baseUrl) in favor of config.absRefPrefix

Credits: Thanks to Gernot Leitgab who discovered and reported the vulnerability.

General Advice: Follow the recommendations that are given in the TYPO3 Security Guide. Please subscribe to the typo3-announce mailing list.

General Note: All security related code changes are tagged so that you can easily look them up on our review system.