Document Title:
===============
Mozilla SeaMonkey - Filter Bypass & Persistent Vulnerability
References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=967
Mozilla Bug Tracking ID: 881686
http://www.vulnerability-lab.com/get_content.php?id=953
Mozilla Bug Tracking ID: 875818
Exclusive News: (Partners) http://news.softpedia.com/news/Critical-Validation-and-Filter-Bypass-Vulnerability-Fixed-in-Thunderbird-420962.shtml
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-6674
CVE-ID:
=======
CVE-2013-6674
Release Date:
=============
2014-01-29
Vulnerability Laboratory ID (VL-ID):
====================================
967
Common Vulnerability Scoring System:
====================================
7.3
Product & Service Introduction:
===============================
SeaMonkey is a free and open source cross-platform Internet suite. It is the continuation of the former Mozilla Application Suite,
based on the same source code. The development of SeaMonkey is community-driven, in contrast to the Mozilla Application Suite, which
until its last released version (1.7.13) was governed by the Mozilla Foundation. The new project-leading group is the SeaMonkey Council.
SeaMonkey consists of a web browser (SeaMonkey Navigator), which is a descendant of the Netscape family, an e-mail and news client
program (SeaMonkey Mail & Newsgroups, which shares code with Mozilla Thunderbird), an HTML editor (SeaMonkey Composer) and an IRC
client (ChatZilla). The software suite supports skins. It comes with two skins in the default installation, Modern and Classic.
Mail
Mail features includes support for multiple accounts {the documentation does not state how many}, junk mail detection, message filters,
HTML message support, a dictionary, an address book, customizable labels, add-ons and mail views as well as integration with the rest of suite.
Composer
SeaMonkey Composer 2.16 running on Ubuntu 12.04. SeaMonkey Composer is a WYSIWYG HTML editor. Its main user interface features four tabs:
Normal (WYSIWYG), HTML tags, HTML code, and browser preview. The generated code is HTML 4.01 Transitional. As of version 1.1.13,
SeaMonkey Composer supports basic text formatting and styling, insertion of hyperlinks and images, and the creation of tables. It does
not support the addition of form elements (text fields, check boxes, and buttons). SeaMonkey Composer is scheduled to be updated with the
release of KompoZer 0.8 which is currently under development.
Vendor Homepage: http://www.mozilla.org
Product website: http://www.seamonkey-project.org/releases/seamonkey2.17/
Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered a filter bypass and persistent validation web vulnerability in the Mozilla Seamonkey application.
Vulnerability Disclosure Timeline:
==================================
2013-05-10: Researcher Notification & Coordination (Ateeq ur Rehman Khan)
2013-05-11: Vendor Notification (Mozilla Security Incident Team)
2013-05-21: Vendor Response/Feedback (Mozilla Security Incident Team)
2014-01-18: Vendor Fix/Patch (Mozilla Developer Team - Reward 1.500$ SWB)
2014-01-27: Public Disclosure (Vulnerability Laboratory)
Discovery Status:
=================
Published
Affected Product(s):
====================
Mozilla
Product: Seamonkey 2.17.1
Exploitation Technique:
=======================
Remote
Severity Level:
===============
High
Technical Details & Description:
================================
Since Seamonkey is using Mozilla Thunderbird at the backend for its mail client, It is prone to the same Persistent vulnerability
that i had reported earlier to Mozilla Security Team.
I will include the details again in this advisory for your reference and ease.
Basically , attaching a debugger with the seamonkey binary file, it was initially noticed that malicious java-script tags were being
filtered / blocked. By default, HTML tags like
When the browser loads the object tag, it loads an object (in our case, it’s a javascript) assigned to its data attribute. This causes execution
of our javascript. We were able to bypass the application blacklist filter because of the base64-encoded payload.
2.0
Seamonkey HTML Composer Preview - Input Filter Bypass Vulnerability
Details:
By default, html tags like work. Its an HTML composer,
maybe its not allowed to filter any dangerous / malicious code requests by default and I am definitely not challenging that fact
at all. I just felt its important to highlight the fact that if all other tags are being blocked in the preview, then this one
actually bypasses the current Seamonkey Composer preview filters and still works.
Vulnerable Product(s):
[+] Seamonkey 2.17.1 - Latest Release
Vulnerable Module(s):
[+] Composer (CTRL+4)
Vulnerable Section(s):
[+] HTML Source
2.1
Proof of Concept:
a) Open New Seamonkey Composer Window
b) Goto Source
c) Copy/Paste any one of the payloads mentioned under the "Payload" section, anywhere in the Code before tag.
Example Code that i used for this POC: