TTCSIRT-063.112017: TT-CSIRT Advisory – Mozilla Security Updates
Multiple vulnerabilities have been discovered in Mozilla Firefox and Firefox Extended Support Release (ESR), the most severe of which could allow for arbitrary code execution. Details of the vulnerabilities are as follows:
a) A data: URL loaded in a new tab did not inherit the Content Security Policy (CSP) of the original page allowing for bypasses of the policy including the execution of JavaScript. In prior versions when data: documents also inherited the context of the original page this would allow for potential cross-site scripting (XSS) attacks – (CVE-2017-7834)
b) A use-after-free vulnerability can occur when flushing and resizing layout because the PressShell object has been freed while still in use. This results in a potentially exploitable crash during these operations – (CVE-2017-7828)
c) A vulnerability where the security wrapper does not deny access to some exposed properties using the deprecated exposedProps mechanism on proxy objects. These properties should be explicitly unavailable to proxy objects – (CVE-2017-7831)
d) Control characters prepended before javascript: URLs pasted in the addressbar can cause the leading characters to be ignored and the pasted JavaScript to be executed instead of being blocked. This could be used in social engineering and self-cross-site-scripting (self-XSS) attacks where users are convinced to copy and paste text into the addressbar – (CVE-2017-7839)
e) If a document’s Referrer Policy attribute is set to “no-referrer” sometimes two network requests are made for elements instead of one. One of these requests includes the referrer instead of respecting the set policy to not include a referrer on requests – (CVE-2017-7842)
f) JavaScript can be injected into an exported bookmarks file by placing JavaScript code into user-supplied tags in saved bookmarks. If the resulting exported HTML file is later opened in a browser this JavaScript will be executed. This could be used in social engineering and self-cross-site-scripting (self-XSS) attacks if users were convinced to add malicious tags to bookmarks export them and then open the resulting file – (CVE-2017-7840)
g) Mixed content blocking of insecure (HTTP) sub-resources in a secure (HTTPS) document was not correctly applied for resources that redirect from HTTPS to HTTP allowing content that should be blocked such as scripts to be loaded on a page – (CVE-2017-7835)
h) Memory safety bugs present in Firefox 56 have been reported. Some of these bugs showed evidence of memory corruption and could be exploited to run arbitrary code. (CVE-2017-7827)
i) Memory safety bugs are present in Firefox 56 and Firefox ESR 52.4. Some of these bugs showed evidence of memory corruption and we presume that with enough effort that some of these could be exploited to run arbitrary code – (CVE-2017-7826)
j) Punycode format text will be displayed for entire qualified international domain names in some instances when a sub-domain triggers the punycode display instead of the primary domain being displayed in native script and the sub-domain only displaying as punycode. This could be used for limited spoofing attacks due to user confusion – (CVE-2017-7838)
k) Some Arabic and Indic vowel marker characters can be combined with Latin characters in a domain name to eclipse the non-Latin character with some font sets on the addressbar. The non-Latin character will not be visible to most viewers. This allows for domain spoofing attacks because these combined domain names do not display as punycode – (CVE-2017-7833)
l) SVG loaded through tags can use tags within the SVG data to set cookies for that page – (CVE-2017-7837)
m) The combined single character version of the letter ‘i’ with any of the potential accents in Unicode, such as acute or grave, can be spoofed in the addressbar by the dotless version of ‘i’ followed by the same accent as a second character with most font sets. This allows for domain spoofing attacks because these combined domain names do not display as punycode – (CVE-2017-7832)
n) The “pingsender” executable used by the Firefox Health Report dynamically loads a system copy of libcurl which an attacker could replace. This allows for privilege escalation as the replaced libcurl code will run with Firefox’s privileges. This attack requires an attacker have local system access and only affects OS X and Linux. Windows systems are not affected – (CVE-2017-7836)
0) The Resource Timing API incorrectly revealed navigations in cross-origin iframes. This is a same-origin policy violation and could allow for data theft of URLs loaded by users – (CVE-2017-7830)
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.
Further information on these vulnerabilities and how they can be fixed can be found at https://www.cisecurity.org/advisory/multiple-vulnerabilities-in-mozilla-firefox-could-allow-for-arbitrary-code-execution_2017-114/ |