Mozilla Foundation Security Advisory 2019-25

Security vulnerabilities fixed in Firefox 69

Announced September 3, 2019 Impact critical Products Firefox Fixed in Firefox 69

# CVE-2019-11751: Malicious code execution through command line parameters Reporter Ping Fan (Zetta) Ke of VXRL working with iDefense Labs Impact critical Description Logging-related command line parameters are not properly sanitized when Firefox is launched by another program, such as when a user clicks on malicious links in a chat application. This can be used to write a log file to an arbitrary location such as the Windows 'Startup' folder.

Note: this issue only affects Firefox on Windows operating systems. References Bug 1572838

# CVE-2019-11746: Use-after-free while manipulating video Reporter Nils Impact high Description A use-after-free vulnerability can occur while manipulating video elements if the body is freed while still in use. This results in a potentially exploitable crash. References Bug 1564449

# CVE-2019-11744: XSS by breaking out of title and textarea elements using innerHTML Reporter Rakesh Mane Impact high Description Some HTML elements, such as <title> and <textarea> , can contain literal angle brackets without treating them as markup. It is possible to pass a literal closing tag to .innerHTML on these elements, and subsequent content after that will be parsed as if it were outside the tag. This can lead to XSS if a site does not filter user input as strictly for these elements as it does for other elements. References Bug 1562033

# CVE-2019-11742: Same-origin policy violation with SVG filters and canvas to steal cross-origin images Reporter Paul Stone Impact high Description A same-origin policy violation occurs allowing the theft of cross-origin images through a combination of SVG filters and a <canvas> element due to an error in how same-origin policy is applied to cached image content. The resulting same-origin policy violation could allow for data theft. References Bug 1559715

# CVE-2019-11736: File manipulation and privilege escalation in Mozilla Maintenance Service Reporter Seb Patane Impact high Description The Mozilla Maintenance Service does not guard against files being hardlinked to another file in the updates directory, allowing for the replacement of local files, including the Maintenance Service executable, which is run with privileged access. Additionally, there was a race condition during checks for junctions and symbolic links by the Maintenance Service, allowing for potential local file and directory manipulation to be undetected in some circumstances. This allows for potential privilege escalation by a user with unprivileged local access.

Note: These attacks requires local system access and only affects Windows. Other operating systems are not affected. References Bug 1551913

Bug 1552206

# CVE-2019-11753: Privilege escalation with Mozilla Maintenance Service in custom Firefox installation location Reporter Holger Fuhrmannek Impact high Description The Firefox installer allows Firefox to be installed to a custom user writable location, leaving it unprotected from manipulation by unprivileged users or malware. If the Mozilla Maintenance Service is manipulated to update this unprotected location and the updated maintenance service in the unprotected location has been altered, the altered maintenance service can run with elevated privileges during the update process due to a lack of integrity checks. This allows for privilege escalation if the executable has been replaced locally.

Note: This attack requires local system access and only affects Windows. Other operating systems are not affected. References Bug 1574980

# CVE-2019-11752: Use-after-free while extracting a key value in IndexedDB Reporter Zhanjia Song Impact high Description It is possible to delete an IndexedDB key value and subsequently try to extract it during conversion. This results in a use-after-free and a potentially exploitable crash. References Bug 1501152

# CVE-2019-9812: Sandbox escape through Firefox Sync Reporter Niklas Baumstark via TrendMicro's Zero Day Initiative Impact high Description Given a compromised sandboxed content process due to a separate vulnerability, it is possible to escape that sandbox by loading accounts.firefox.com in that process and forcing a log-in to a malicious Firefox Sync account. Preference settings that disable the sandbox are then synchronized to the local machine and the compromised browser would restart without the sandbox if a crash is triggered. References Bug 1538008

Bug 1538015

# CVE-2019-11741: Isolate addons.mozilla.org and accounts.firefox.com Reporter Niklas Baumstark via TrendMicro's Zero Day Initiative Impact high Description A compromised sandboxed content process can perform a Universal Cross-site Scripting (UXSS) attack on content from any site it can cause to be loaded in the same process. Because addons.mozilla.org and accounts.firefox.com have close ties to the Firefox product, malicious manipulation of these sites within the browser can potentially be used to modify a user's Firefox configuration. These two sites will now be isolated into their own process and not allowed to be loaded in a standard content process. References Bug 1539595

# CVE-2019-11743: Cross-origin access to unload event attributes Reporter Yoav Weiss Impact moderate Description Navigation events were not fully adhering to the W3C's "Navigation-Timing Level 2" draft specification in some instances for the unload event, which restricts access to detailed timing attributes to only be same-origin. This resulted in potential cross-origin information exposure of history through timing side-channel attacks. References Bug 1560495

Navigation-Timing Level 2 specification

# CVE-2019-11748: Persistence of WebRTC permissions in a third party context Reporter Jan-Ivar Bruaroey Impact moderate Description WebRTC in Firefox will honor persisted permissions given to sites for access to microphone and camera resources even when in a third-party context. In light of recent high profile vulnerabilities in other software, a decision was made to no longer persist these permissions. This avoids the possibility of trusted WebRTC resources being invisibly embedded in web content and abusing permissions previously given by users. Users will now be prompted for permissions on each use. References Bug 1564588

# CVE-2019-11749: Camera information available without prompting using getUserMedia Reporter Andreas Pehrson Impact moderate Description A vulnerability exists in WebRTC where malicious web content can use probing techniques on the getUserMedia API using constraints to reveal device properties of cameras on the system without triggering a user prompt or notification. This allows for the potential fingerprinting of users. References Bug 1565374

# CVE-2019-5849: Out-of-bounds read in Skia Reporter Zhen Zhou of NSFOCUS Security Team Impact moderate Description An out-of-bounds read vulnerability exists in the Skia graphics library, allowing for the possible leaking of data from memory. References Bug 1555838

# CVE-2019-11750: Type confusion in Spidermonkey Reporter Qixun Zhao of Qihoo 360 Vulcan Team Impact moderate Description A type confusion vulnerability exists in Spidermonkey, which results in a non-exploitable crash. References Bug 1568397

# CVE-2019-11737: Content security policy directives ignore port and path if host is a wildcard Reporter Xiaoyin Liu Impact low Description If a wildcard ('*') is specified for the host in Content Security Policy (CSP) directives, any port or path restriction of the directive will be ignored, leading to CSP directives not being properly applied to content. References Bug 1388015

# CVE-2019-11738: Content security policy bypass through hash-based sources in directives Reporter Wladimir Palant Impact low Description If a Content Security Policy (CSP) directive is defined that uses a hash-based source that takes the empty string as input, execution of any javascript: URIs will be allowed. This could allow for malicious JavaScript content to be run, bypassing CSP permissions. References Bug 1452037

# CVE-2019-11747: 'Forget about this site' removes sites from pre-loaded HSTS list Reporter Thomas Henlich Impact low Description The "Forget about this site" feature in the History pane is intended to remove all saved user data that indicates a user has visited a site. This includes removing any HTTP Strict Transport Security (HSTS) settings received from sites that use it. Due to a bug, sites on the pre-load list also have their HSTS setting removed. On the next visit to that site if the user specifies an http: URL rather than secure https: they will not be protected by the pre-loaded HSTS setting. After that visit the site's HSTS setting will be restored. References Bug 1564481

# CVE-2019-11734: Memory safety bugs fixed in Firefox 69 Reporter Mozilla developers and community Impact high Description Mozilla developers and community members Randell Jesup, Philipp, Cosmin Sabou, and Natalia Csoregi reported memory safety bugs present in Firefox 68. 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. References Memory safety bugs fixed in Firefox 69

# CVE-2019-11758: Potentially exploitable crash due to 360 Total Security Reporter Mozilla developers and community Impact high Description Mozilla developer Philipp reported a memory safety bug present in Firefox 68 when 360 Total Security was installed. This bug showed evidence of memory corruption in the accessibility engine and we presume that with enough effort that it could be exploited to run arbitrary code. References Bug 1536227

# CVE-2019-11735: Memory safety bugs fixed in Firefox 69 and Firefox ESR 68.1 Reporter Mozilla developers and community Impact high Description Mozilla developers and community members Mikhail Gavrilov, Tyson Smith, Marcia Knous, Tom Ritter, Philipp, and Bob Owens reported memory safety bugs present in Firefox 68 and Firefox ESR 68. 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. References Memory safety bugs fixed in Firefox 69 and Firefox ESR 68.1