Mozilla Foundation Security Advisory 2019-11

Security vulnerabilities fixed in Thunderbird 60.6

Announced
March 19, 2019
Impact
critical
Products
Thunderbird
Fixed in
  • Thunderbird 60.6

In general, these flaws cannot be exploited through email in the Thunderbird product because scripting is disabled when reading mail, but are potentially risks in browser or browser-like contexts.

#CVE-2019-9790: Use-after-free when removing in-use DOM elements

Reporter
Brandon Wieser
Impact
critical
Description

A use-after-free vulnerability can occur when a raw pointer to a DOM element on a page is obtained using JavaScript and the element is then removed while still in use. This results in a potentially exploitable crash.

References

#CVE-2019-9791: Type inference is incorrect for constructors entered through on-stack replacement with IonMonkey

Reporter
Samuel Groß of Google Project Zero
Impact
critical
Description

The type inference system allows the compilation of functions that can cause type confusions between arbitrary objects when compiled through the IonMonkey just-in-time (JIT) compiler and when the constructor function is entered through on-stack replacement (OSR). This allows for possible arbitrary reading and writing of objects during an exploitable crash.

References

#CVE-2019-9792: IonMonkey leaks JS_OPTIMIZED_OUT magic value to script

Reporter
Samuel Groß of Google Project Zero
Impact
critical
Description

The IonMonkey just-in-time (JIT) compiler can leak an internal JS_OPTIMIZED_OUT magic value to the running script during a bailout. This magic value can then be used by JavaScript to achieve memory corruption, which results in a potentially exploitable crash.

References

#CVE-2019-9793: Improper bounds checks when Spectre mitigations are disabled

Reporter
Bruno Keith & Niklas Baumstark from the phoenhex team
Impact
high
Description

A mechanism was discovered that removes some bounds checking for string, array, or typed array accesses if Spectre mitigations have been disabled. This vulnerability could allow an attacker to create an arbitrary value in compiled JavaScript, for which the range analysis will infer a fully controlled, incorrect range in circumstances where users have explicitly disabled Spectre mitigations.
Note: Spectre mitigations are currently enabled for all users by default settings.

References

#CVE-2019-9794: Command line arguments not discarded during execution

Reporter
Joshua Graham
Impact
high
Description

A vulnerability was discovered where specific command line arguments are not properly discarded during Firefox invocation as a shell handler for URLs. This could be used to retrieve and execute files whose location is supplied through these command line arguments if Firefox is configured as the default URI handler for a given URI scheme in third party applications and these applications insufficiently sanitize URL data.
Note: This issue only affects Windows operating systems. Other operating systems are unaffected.

References

#CVE-2019-9795: Type-confusion in IonMonkey JIT compiler

Reporter
Nils
Impact
high
Description

A vulnerability where type-confusion in the IonMonkey just-in-time (JIT) compiler could potentially be used by malicious JavaScript to trigger a potentially exploitable crash.

References

#CVE-2019-9796: Use-after-free with SMIL animation controller

Reporter
Nils
Impact
high
Description

A use-after-free vulnerability can occur when the SMIL animation controller incorrectly registers with the refresh driver twice when only a single registration is expected. When a registration is later freed with the removal of the animation controller element, the refresh driver incorrectly leaves a dangling pointer to the driver's observer array.

References

#CVE-2019-9801: Windows programs that are not 'URL Handlers' are exposed to web content

Reporter
Daniel Veditz
Impact
moderate
Description

Firefox will accept any registered Program ID as an external protocol handler and offer to launch this local application when given a matching URL on Windows operating systems. This should only happen if the program has specifically registered itself as a "URL Handler" in the Windows registry.
Note: This issue only affects Windows operating systems. Other operating systems are unaffected.

References

#CVE-2018-18506: Proxy Auto-Configuration file can define localhost access to be proxied

Reporter
Jann Horn
Impact
moderate
Description

When proxy auto-detection is enabled, if a web server serves a Proxy Auto-Configuration (PAC) file or if a PAC file is loaded locally, this PAC file can specify that requests to the localhost are to be sent through the proxy to another server. This behavior is disallowed by default when a proxy is manually configured, but when enabled could allow for attacks on services and tools that bind to the localhost for networked behavior if they are accessed through browsing.

References

#CVE-2019-9788: Memory safety bugs fixed in Firefox 66, Firefox ESR 60.6, and Thunderbird 60.6

Reporter
Mozilla developers and community
Impact
critical
Description

Mozilla developers and community members Bob Clary, Chun-Min Chang, Aral Yaman, Andreea Pavel, Jonathan Kew, Gary Kwong, Alex Gaynor, Masayuki Nakano, and Anne van Kesteren reported memory safety bugs present in Firefox 65, Firefox ESR 60.5, and Thunderbird 60.5. 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