Multiple Vulnerabilities in Mozilla Firefox Could Allow for Arbitrary Code Execution

ITS Advisory Number: 
2016-214
Date(s) Issued: 
Wednesday, December 14, 2016
Subject: 
Multiple Vulnerabilities in Mozilla Firefox Could Allow for Arbitrary Code Execution
Overview: 

Multiple vulnerabilities have been identified in Mozilla Firefox and Firefox Extended Support Release (ESR), which could allow for arbitrary code execution. Mozilla Firefox is a web browser used to access the Internet. Mozilla Firefox ESR is a version of the web browser intended to be deployed in large organizations. Successful exploitation of the most severe of these vulnerabilities could allow an attacker to bypass same-origin policy restrictions to access data, and execute arbitrary code in the context of the user running the affected application. Depending on the privileges associated with the user, an attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than those who operate with administrative user rights.

Systems Affected: 
  • Mozilla Firefox versions prior to 50.1

  • Mozilla Firefox ESR versions prior to 45.6

RISK
GOVERNMENT
Large and medium government entities: 
High
Small government entities: 
Medium
BUSINESS
Large and medium business entities: 
High
Small business entities: 
Medium
Home Users: 
Low
Description: 

Mozilla has confirmed multiple vulnerabilities in Firefox and Firefox Extended Support Release (ESR). Exploitation of the most severe of these vulnerabilities could allow for arbitrary code execution, bypass the same-origin policy and other security restrictions, and perform unauthorized actions. These vulnerabilities could be exploited if a user visits or is redirected to a specially-crafted webpage or opens a specially-crafted file. Details of these vulnerabilities are as follows:

 

Mozilla Firefox and ESR Vulnerabilities

  • A Use-after-free vulnerability that occurs due to an error in the handling of node adoption. Specifically, this issue occurs when manipulating DOM events and removing audio elements. (CVE-2016-9899)  

  • A security bypass vulnerability that occurs because event handlers on marquee elements were executed despite a strict Content Security Policy (CSP) that disallowed inline JavaScript. (CVE-2016-9895)  

  • A memory-corruption vulnerability that occurs within the 'libGLES' development package. Specifically, this issue results in a potentially exploitable crash during 'WebGL' functions using a vector constructor with a varying array. (CVE-2016-9897)  

  • A Use-after-free vulnerability that occurs when manipulating DOM subtrees in the Editor. An attacker can leverage this issue to crash the affected application. (CVE-2016-9898)  

  • A security bypass vulnerability that occurs because restricted external resources can be loaded by 'SVG' images through data URLs. An attacker can leverage this issue to cause cross-domain data leakage.

    (CVE-2016-9900)  

  • An information disclosure vulnerability that occurs because it allows to determine whether an atom is used by another compartment/zone in specific contexts. An attacker can leverage this issue to obtain usernames embedded in JavaScript code, across websites. (CVE-2016-9904)  

  • An HTML-injection vulnerability that occurs because it fails to properly sanitize the  HTML tags received from the Pocket server. An attacker can leverage this issue to gain access to Pocket's messaging

    API. (CVE-2016-9901)  

  • A same-origin policy security bypass vulnerability that occurs because the Pocket toolbar button fails to properly verify the origin of incoming events. An attacker can exploit this issue to fire events from other origins and inject content and commands into the Pocket context. This issue does not affect users with e10s enabled (CVE-2016-9902)  

  • A memory safety bugs present in Firefox 50.02 and Firefox ESR 45.5.1, which if exploited could lead to arbitrary code being run. (CVE-2016-9893)

 

Mozilla Firefox Only Vulnerabilities

  • A Buffer overflow vulnerability for SkiaGL exists. Specifically , this issue is caused when a GrGLBuffer is truncated during allocation and could result is a potentially exploitable crash (CVE-2016-9894)

  • A Use-after-free vulnerability exists for WebVR -which is not enabled by default- when the navigator object within WebVR gets manipulated. (CVE-2016-9896)

  • A XSS injection vulnerability in add-ons SDK exists. (CVE-2016-9903)

  • An unspecified memory-corruption vulnerability exists in Firefox 50.0.2. Successful exploits may allow an attackers to run arbitrary code. (CVE-2016-9080)

 

Mozilla Firefox ESR Only Vulnerabilities

  • A potential exploitable crash in EnumerateSubDocuments exists. Specifically, this issues occurs when sub-documents get added or removed (CVE-2016-9905)

 

Successful exploitation of the most severe of these vulnerabilities could allow an attacker to bypass same-origin policy restrictions to access data, and execute arbitrary code in the context of the user running the affected application. Depending on the privileges associated with the user, an attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than those who operate with administrative user rights.

 

Actions: 
  • After appropriate testing, immediately apply the updates provided by Mozilla to vulnerable systems

  • Run all software as a non-privileged user (one without administrative privileges) to diminish the effects of a successful attack.

  • Remind users not to visit un-trusted websites or follow links provided by unknown or un-trusted sources.

  • Inform and educate users regarding the threats posed by hypertext links contained in emails or attachments especially from un-trusted sources.

  • Apply the Principle of Least Privilege to all systems and services.