tagline: Confidence in the Connected World
CIS Logo
HomeResourcesAdvisoriesMultiple Vulnerabilities in Mozilla Firefox Could Allow for Arbitrary Code Execution

Multiple Vulnerabilities in Mozilla Firefox Could Allow for Arbitrary Code Execution

MS-ISAC ADVISORY NUMBER:

2017-074

DATE(S) ISSUED:

08/08/2017

OVERVIEW:

Multiple vulnerabilities have been identified in Mozilla Firefox and Firefox Extended Support Release (ESR), the most severe of 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 for arbitrary code execution. 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.

THREAT INTELLIGENCE:

There is no evidence of these vulnerabilities being exploited in the wild.

SYSTEMS AFFECTED:

  • Mozilla Firefox versions prior to 55
  • Mozilla Firefox ESR versions prior to 52.3

RISK:

Government:
  • Large and medium government entities: N/A
  • Small government entities: MEDIUM
Businesses:
  • Large and medium business entities: HIGH
  • Small business entities: MEDIUM
Home Users:
LOW

TECHNICAL SUMMARY:

Mozilla has confirmed the following vulnerabilities in Firefox and Firefox Extended Support Release (ESR).

  • A XUL injection vulnerability with the Developer Tools feature due to improper sanitization of the web page source code. In the worst case, this could allow arbitrary code execution when opening a malicious page with the style editor tool. (CVE-2017-7798)
  • A use-after-free vulnerability can occur in WebSockets when the object holding the connection is freed before the disconnection operation is finished. This results in an exploitable crash. (CVE-2017-7800)
  • A use-after-free vulnerability can occur while re-computing layout for a marquee element during window resizing where the updated style object is freed while still in use. This results in a potentially exploitable crash. (CVE-2017-7801)
  • A use-after-free vulnerability can occur when reading an image observer during frame reconstruction after the observer has been freed. This results in a potentially exploitable crash. (CVE-2017-7784)
  • A use-after-free vulnerability can occur when manipulating the DOM during the resize event of an image element. If these elements have been freed due to a lack of strong references, a potentially exploitable crash may occur when the freed elements are accessed. (CVE-2017-7802)
  • A buffer overflow can occur when manipulating Accessible Rich Internet Applications (ARIA) attributes within the DOM. This results in a potentially exploitable crash. (CVE-2017-7785)
  • A buffer overflow can occur when the image renderer attempts to paint non-displayable SVG elements. This results in a potentially exploitable crash. (CVE-2017-7786)
  • A use-after-free vulnerability can occur when the layer manager is freed too early when rendering specific SVG content, resulting in a potentially exploitable crash. (CVE-2017-7806)
  • An out-of-bounds read occurs when applying style rules to pseudo-elements, such as ::first-line, using cached style data. (CVE-2017-7753)
  • Same-origin policy protections can be bypassed on pages with embedded iframes during page reloads, allowing the iframes to access content on the top level page, leading to information disclosure. (CVE-2017-7787)
  • A mechanism that uses AppCache to hijack a URL in a domain using fallback by serving the files from a sub-path on the domain. This has been addressed by requiring fallback files be inside the manifest directory. (CVE-2017-7807)
  • A buffer overflow will occur when viewing a certificate in the certificate manager if the certificate has an extremely long object identifier (OID). This results in a potentially exploitable crash. (CVE-2017-7792)
  • The destructor function for the WindowsDllDetourPatcher class can be re-purposed by malicious code in concert with another vulnerability to write arbitrary data to an attacker controlled location in memory. This can be used to bypass existing memory protections in this situation. (CVE-2017-7804)
  • On pages containing an iframe, the data: protocol can be used to create a modal alert that will render over arbitrary domains following page navigation, spoofing of the origin of the modal alert from the iframe content. (CVE-2017-7791)
  • A content security policy (CSP) frame-ancestors directive containing origins with paths allows for comparisons against those paths instead of the origin. This results in a cross-origin information leak of this path information. (CVE-2017-7808)
  • An error in the WindowsDllDetourPatcher where a RWX ("Read/Write/Execute") 4k block is allocated but never protected, violating DEP protections. (CVE-2017-7782)
  • An error occurs in the elliptic curve point addition algorithm that uses mixed Jacobian-affine coordinates where it can yield a result POINT_AT_INFINITY when it should not. A man-in-the-middle attacker could use this to interfere with a connection, resulting in an attacked party computing an incorrect shared secret. (CVE-2017-7781)
  • On Linux systems, if the content process is compromised, the sandbox broker will allow files to be truncated even though the sandbox explicitly only has read access to the local file system and no write permissions. Note: This attack only affects the Linux operating system. Other operating systems are not affected. (CVE-2017-7794)
  • When a page’s content security policy (CSP) header contains a sandbox directive, other directives are ignored. This results in the incorrect enforcement of CSP. (CVE-2017-7803)
  • JavaScript in the about:webrtc page is not sanitized properly being being assigned to innerHTML. Data on this page is supplied by WebRTC usage and is not under third-party control, making this difficult to exploit, but the vulnerability could possibly be used for a cross-site scripting (XSS) attack. (CVE-2017-7799)
  • If a long user name is used in a username/password combination in a site URL (such as http://UserName:Password@example.com), the resulting modal prompt will hang in a non-responsive state or crash, causing a denial of service. (CVE-2017-7783)
  • When an iframe has a sandbox attribute and its content is specified using srcdoc, that content does not inherit the containing page's Content Security Policy (CSP) as it should unless the sandbox attribute included allow-same-origin. (CVE-2017-7788)
  • If a server sends two Strict-Transport-Security (STS) headers for a single connection, they will be rejected as invalid and HTTP Strict Transport Security (HSTS) will not be enabled for the connection. (CVE-2017-7789)
  • On Windows systems, if non-null-terminated strings are copied into the crash reporter for some specific registry keys, stack memory data can be copied until a null is found. This can potentially contain private data from the local system. Note: This attack only affects Windows operating systems. Other operating systems are not affected. (CVE-2017-7790)
  • On Windows systems, the logger run by the Windows updater deletes the file "update.log" before it runs in order to write a new log of that name. The path to this file is supplied at the command line to the updater and could be used in concert with another local exploit to delete a different file named "update.log" instead of the one intended. Note: This attack only affects Windows operating systems. Other operating systems are not affected. (CVE-2017-7796)
  • Response header name interning does not have same-origin protections and these headers are stored in a global registry. This allows stored header names to be available cross-origin. (CVE-2017-7797)
  • Multiple arbitrary code vulnerabilities exist due to various memory corruption bugs. (CVE-2017-7779, CVE-2017-7780)

Successful exploitation of the most severe of these vulnerabilities could allow for arbitrary code execution. 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.

RECOMENDATIONS:

We recommend the following actions be taken:

  • Apply appropriate updates provided by Mozilla to vulnerable systems, immediately after appropriate testing.
  • 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.

REFERENCES:

CVE:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7753 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7779 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7780 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7781 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7782 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7783 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7784 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7785 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7786 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7787 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7788 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7789 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7790 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7791 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7792 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7794 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7796 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7797 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7798 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7799 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7800 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7801 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7802 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7803 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7804 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7806 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7807 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7808

Get Email Updates When Cyber Threats Like This Arise

Arrow Subscribe to Advisories

Protect Your Systems from Cyber Threats Like This

CIS Controls That Help Avoid This Issue Arrow CIS Control 4: Continuous Vulnerability Assessment and Remediation Arrow CIS Control 7: Email and Web Browser Protections

Information Hub: Advisories



Pencil Benchmark 17 Aug 2017

Pencil Blog post 14 Aug 2017

Pencil Blog post 11 Aug 2017