Mozilla Foundation Security Advisory 2019-34

Security vulnerabilities fixed in - Firefox 70

Announced
October 22, 2019
Impact
critical
Products
Firefox
Fixed in
  • Firefox 70

Note: We have updated this advisory on June 26, 2020 to include CVE-2020-12412 and on March 20, 2023 to include CVE-2019-25136, which were fixed in Firefox 70 but not recognized or acknowledged immediately.

#CVE-2018-6156: Heap buffer overflow in FEC processing in WebRTC

Reporter
Google Project Zero
Impact
high
Description

Incorrect derivation of a packet length in WebRTC caused heap corruption via a crafted video file. This resulted in a potentially exploitable crash.

References

#CVE-2019-15903: Heap overflow in expat library in XML_GetCurrentLineNumber

Reporter
Sebastian Pipping
Impact
high
Description

In libexpat before 2.2.8, crafted XML input could fool the parser into changing from DTD parsing to document parsing too early. A subsequent call to XML_GetCurrentLineNumber or XML_GetCurrentColumnNumber then resulted in a heap-based buffer over-read.

References

#CVE-2019-11757: Use-after-free when creating index updates in IndexedDB

Reporter
Zhanjia Song
Impact
high
Description

When storing a value in IndexedDB, the value's prototype chain is followed and it was possible to retain a reference to a locale, delete it, and subsequently reference it. This resulted in a use-after-free and a potentially exploitable crash.

References

#CVE-2019-25136: Invalid styles allowed from content processes

Reporter
Emilio Cobos Álvarez
Impact
high
Description

A compromised child process could have injected XBL Bindings into privileged CSS rules, resulting in arbitrary code execution and a sandbox escape.

References

#CVE-2020-12412: Address bar spoof using history navigation and blocked ports

Reporter
Adrian Karolak from ING Tech Poland
Impact
moderate
Description

By navigating a tab using the history API, an attacker could cause the address bar to display the incorrect domain (with the https:// scheme, a blocked port number such as '1', and without a lock icon) while controlling the page contents.

References

#CVE-2019-11759: Stack buffer overflow in HKDF output

Reporter
Guido Vranken
Impact
moderate
Description

An attacker could have caused 4 bytes of HMAC output to be written past the end of a buffer stored on the stack. This could be used by an attacker to execute arbitrary code or more likely lead to a crash.

References

#CVE-2019-11760: Stack buffer overflow in WebRTC networking

Reporter
Nils
Impact
moderate
Description

A fixed-size stack buffer could overflow in nrappkit when doing WebRTC signaling. This resulted in a potentially exploitable crash in some instances.

References

#CVE-2019-11761: Unintended access to a privileged JSONView object

Reporter
Cody Crews
Impact
moderate
Description

By using a form with a data URI it was possible to gain access to the privileged JSONView object that had been cloned into content. Impact from exposing this object appears to be minimal, however it was a bypass of existing defense in depth mechanisms.

References

#CVE-2019-11762: document.domain-based origin isolation has same-origin-property violation

Reporter
Kris Maglione
Impact
moderate
Description

If two same-origin documents set document.domain differently to become cross-origin, it was possible for them to call arbitrary DOM methods/getters/setters on the now-cross-origin window.

References

#CVE-2019-11763: Incorrect HTML parsing results in XSS bypass technique

Reporter
Gareth Heyes
Impact
moderate
Description

Failure to correctly handle null bytes when processing HTML entities resulted in Firefox incorrectly parsing these entities. This could have led to HTML comment text being treated as HTML which could have led to XSS in a web application under certain conditions. It could have also led to HTML entities being masked from filters, enabling the use of entities to mask the actual characters of interest from filters.

References

#CVE-2019-11765: Incorrect permissions could be granted to a website

Reporter
Paul Theriault
Impact
moderate
Description

A compromised content process could send a message to the parent process that would cause the 'Click to Play' permission prompt to be shown. However, due to lack of validation from the parent process, if the user accepted the permission request an attacker-controlled permission would be granted rather than the 'Click to Play' permission.

References

#CVE-2019-17000: CSP bypass using object tag with data: URI

Reporter
Yangzheng Li
Impact
moderate
Description

An object tag with a data URI did not correctly inherit the document's Content Security Policy. This allowed a CSP bypass in a cross-origin frame if the document's policy explicitly allowed data: URIs.

References

#CVE-2019-17001: CSP bypass using object tag when script-src 'none' is specified

Reporter
Matheus Vrech
Impact
moderate
Description

A Content-Security-Policy that blocks in-line scripts could be bypassed using an object tag to execute JavaScript in the protected document (cross-site scripting). This is a separate bypass from CVE-2019-17000.
Note: This flaw only affected Firefox 69 and was not present in earlier versions.

References

#CVE-2019-17002: upgrade-insecure-requests was not being honored for links dragged and dropped

Reporter
Kevin Brosnan
Impact
low
Description

If upgrade-insecure-requests was specified in the Content Security Policy, and a link was dragged and dropped from that page, the link was not upgraded to https.

References

#CVE-2019-11764: Memory safety bugs fixed in Firefox 70 and Firefox ESR 68.2

Reporter
Mozilla developers and community
Impact
critical
Description

Mozilla developers and community members Bob Clary, Jason Kratzer, Aaron Klotz, Iain Ireland, Tyson Smith, Christian Holler, Steve Fink, Honza Bambas, Byron Campen, and Cristian Brindusan reported memory safety bugs present in Firefox 69 and Firefox ESR 68.1. Some of these bugs showed evidence of memory corruption and we presume that with enough effort some of these could be exploited to run arbitrary code.

References