CVE-2009-3018 in Maxthon Browserinfo

Summary

by MITRE

Maxthon Browser 3.0.0.145 Alpha with Ultramode does not properly block javascript: and data: URIs in Refresh headers in HTTP responses, which allows remote attackers to conduct cross-site scripting (XSS) attacks via vectors related to (1) injecting a Refresh header that contains a javascript: URI, (2) entering a javascript: URI when specifying the content of a Refresh header, (3) injecting a Refresh header that contains JavaScript sequences in a data:text/html URI, or (4) entering a data:text/html URI with JavaScript sequences when specifying the content of a Refresh header; does not properly block data: URIs in Location headers in HTTP responses, which allows user-assisted remote attackers to conduct cross-site scripting (XSS) attacks via vectors related to (5) injecting a Location header that contains JavaScript sequences in a data:text/html URI or (6) entering a data:text/html URI with JavaScript sequences when specifying the content of a Location header; and does not properly handle javascript: URIs in HTML links within (a) 301 and (b) 302 error documents sent from web servers, which allows user-assisted remote attackers to conduct cross-site scripting (XSS) attacks via vectors related to (7) injecting a Location HTTP response header or (8) specifying the content of a Location HTTP response header.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 12/22/2017

The vulnerability described in CVE-2009-3018 represents a critical cross-site scripting weakness in the Maxthon Browser version 3.0.0.145 Alpha with Ultramode functionality. This security flaw stems from inadequate input validation and sanitization mechanisms within the browser's handling of HTTP redirect headers, specifically the Refresh and Location headers that are commonly used for server-side redirects. The vulnerability operates at the intersection of web application security and browser implementation, creating a pathway for malicious actors to execute arbitrary JavaScript code within the context of a user's browsing session.

The technical implementation of this vulnerability involves multiple attack vectors that exploit the browser's failure to properly sanitize URI schemes in HTTP redirect headers. When a web server responds with a Refresh header containing javascript: URIs or data:text/html URIs with embedded JavaScript sequences, the browser's ultramode rendering engine fails to adequately filter these potentially dangerous protocols. This allows attackers to craft malicious HTTP responses that, when processed by the vulnerable browser, execute JavaScript code in the user's context. The vulnerability extends beyond simple refresh headers to include Location headers, which are commonly used for redirects in web applications, and even affects error documents returned by servers with status codes 301 and 302.

The operational impact of this vulnerability is significant as it enables remote attackers to conduct sophisticated cross-site scripting attacks without requiring direct user interaction beyond visiting a malicious website. The attack vectors described in CVE-2009-3018 demonstrate a comprehensive approach to exploiting browser redirect mechanisms, with each vector representing a different way an attacker can inject malicious JavaScript code. The fact that this vulnerability affects both Refresh and Location headers indicates a systemic issue in how the browser processes HTTP redirect information rather than isolated implementation flaws. This weakness particularly affects users who may be tricked into visiting compromised websites that return malicious redirect headers, making it a user-assisted attack that can be particularly effective in social engineering scenarios.

Security professionals should note that this vulnerability aligns with CWE-79 (Cross-site Scripting) and follows patterns identified in the ATT&CK framework under T1211 (Exploitation for Defense Evasion) and T1566 (Phishing). The vulnerability demonstrates how browser implementation weaknesses can create persistent security risks that extend beyond traditional web application boundaries. Organizations should implement immediate mitigations including browser updates, network-level filtering of suspicious redirect headers, and user education about the dangers of visiting untrusted websites. The vulnerability also highlights the importance of proper input validation and the principle of least privilege in web browser security implementations, as the browser should not execute JavaScript code embedded within HTTP headers without proper sanitization and validation processes.

Reservation

08/31/2009

Disclosure

08/31/2009

Moderation

accepted

Entry

VDB-49743

CPE

ready

EPSS

0.01073

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!