Headline
CVE-2019-9792: Security vulnerabilities fixed in Thunderbird 60.6
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. This vulnerability affects Thunderbird < 60.6, Firefox ESR < 60.6, and Firefox < 66.
Mozilla Foundation Security Advisory 2019-11
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
- Bug 1525145
#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
- Bug 1530958
#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
- Bug 1532599
#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
- Bug 1528829
#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
- Bug 1530103
#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
- Bug 1514682
#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
- Bug 1531277
#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
- Bug 1527717
#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
- Bug 1503393
#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
- Memory safety bugs fixed in Firefox 66, Firefox ESR 60.6, and Thunderbird 60.6