Mozilla Foundation Security Advisory 2020-50

Security Vulnerabilities fixed in Firefox 83

Announced
November 17, 2020
Impact
high
Products
Firefox
Fixed in
  • Firefox 83

#CVE-2020-26951: Parsing mismatches could confuse and bypass security sanitizer for chrome privileged code

Reporter
Irvan Kurniawan (@sourc7)
Impact
high
Description

A parsing and event loading mismatch in Firefox's SVG code could have allowed load events to fire, even after sanitization. An attacker already capable of exploiting an XSS vulnerability in privileged internal pages could have used this attack to bypass our built-in sanitizer.

References

#CVE-2020-26952: Out of memory handling of JITed, inlined functions could lead to a memory corruption

Reporter
Gary Kwong
Impact
high
Description

Incorrect bookkeeping of functions inlined during JIT compilation could have led to memory corruption and a potentially exploitable crash when handling out-of-memory errors.

References

#CVE-2020-16012: Variable time processing of cross-origin images during drawImage calls

Reporter
Aleksejs Popovs
Impact
moderate
Description

When drawing a transparent image on top of an unknown cross-origin image, the Skia library drawImage function took a variable amount of time depending on the content of the underlying image. This resulted in potential cross-origin information exposure of image content through timing side-channel attacks.

References

#CVE-2020-26953: Fullscreen could be enabled without displaying the security UI

Reporter
Abdulrahman Alqabandi of Microsoft Browser Vulnerability Research
Impact
moderate
Description

It was possible to cause the browser to enter fullscreen mode without displaying the security UI; thus making it possible to attempt a phishing attack or otherwise confuse the user.

References

#CVE-2020-26954: Local spoofing of web manifests for arbitrary pages in Firefox for Android

Reporter
Muneaki Nishimura
Impact
moderate
Description

When accepting a malicious intent from other installed apps, Firefox for Android accepted manifests from arbitrary file paths and allowed declaring webapp manifests for other origins. This could be used to gain fullscreen access for UI spoofing and could also lead to cross-origin attacks on targeted websites.
Note: This issue only affected Firefox for Android. Other operating systems are unaffected.

References

#CVE-2020-26955: Cookies set during file downloads are shared between normal and Private Browsing Mode in Firefox for Android

Reporter
Muneaki Nishimura
Impact
moderate
Description

When a user downloaded a file in Firefox for Android, if a cookie is set, it would have been re-sent during a subsequent file download operation on the same domain, regardless of whether the original and subsequent request were in private and non-private browsing modes.
Note: This issue only affected Firefox for Android. Other operating systems are unaffected.

References

#CVE-2020-26956: XSS through paste (manual and clipboard API)

Reporter
Irvan Kurniawan (@sourc7)
Impact
moderate
Description

In some cases, removing HTML elements during sanitization would keep existing SVG event handlers and therefore lead to XSS.

References

#CVE-2020-26957: OneCRL was not working in Firefox for Android

Reporter
Kevin Brosnan
Impact
moderate
Description

OneCRL was non-functional in the new Firefox for Android due to a missing service initialization. This could result in a failure to enforce some certificate revocations.
Note: This issue only affected Firefox for Android. Other operating systems are unaffected.

References

#CVE-2020-26958: Requests intercepted through ServiceWorkers lacked MIME type restrictions

Reporter
Moti Harmats
Impact
moderate
Description

Firefox did not block execution of scripts with incorrect MIME types when the response was intercepted and cached through a ServiceWorker. This could lead to a cross-site script inclusion vulnerability, or a Content Security Policy bypass.

References

#CVE-2020-26959: Use-after-free in WebRequestService

Reporter
Bharadwaj Machiraju
Impact
moderate
Description

During browser shutdown, reference decrementing could have occured on a previously freed object, resulting in a use-after-free, memory corruption, and a potentially exploitable crash.

References

#CVE-2020-26960: Potential use-after-free in uses of nsTArray

Reporter
Zijie Zhao
Impact
moderate
Description

If the Compact() method was called on an nsTArray, the array could have been reallocated without updating other pointers, leading to a potential use-after-free and exploitable crash.

References

#CVE-2020-15999: Heap buffer overflow in freetype

Reporter
Sergei Glazunov of Google Project Zero
Impact
moderate
Description

In Freetype, if PNG images were embedded into fonts, the Load_SBit_Png function contained an integer overflow that led to a heap buffer overflow, memory corruption, and an exploitable crash.
Note: While Project Zero did discover instances of this vulnerability being exploited in the wild against Chrome, in Firefox this vulnerability is only triggerable if a rarely-used, hidden preference is toggled, and only affected Linux and Android operating systems. Other operating systems are unaffected; and Linux and Android are unaffected in the default configuration.

References

#CVE-2020-26961: DoH did not filter IPv4 mapped IP Addresses

Reporter
Gabriel Corona
Impact
moderate
Description

When DNS over HTTPS is in use, it intentionally filters RFC1918 and related IP ranges from the responses as these do not make sense coming from a DoH resolver. However when an IPv4 address was mapped through IPv6, these addresses were erroneously let through, leading to a potential DNS Rebinding attack.

References

#CVE-2020-26962: Cross-origin iframes supported login autofill

Reporter
Paul Stone
Impact
low
Description

Cross-origin iframes that contained a login form could have been recognized by the login autofill service, and populated. This could have been used in clickjacking attacks, as well as be read across partitions in dynamic first party isolation.

References

#CVE-2020-26963: History and Location interfaces could have been used to hang the browser

Reporter
Sachin Raste
Impact
low
Description

Repeated calls to the history and location interfaces could have been used to hang the browser. This was addressed by introducing rate-limiting to these API calls.

References

#CVE-2020-26964: Firefox for Android's Remote Debugging via USB could have been abused by untrusted apps on older versions of Android

Reporter
Muneaki Nishimura
Impact
low
Description

If the Remote Debugging via USB feature was enabled in Firefox for Android on an Android version prior to Android 6.0, untrusted apps could have connected to the feature and operated with the privileges of the browser to read and interact with web content. The feature was implemented as a unix domain socket, protected by the Android SELinux policy; however, SELinux was not enforced for versions prior to 6.0. This was fixed by removing the Remote Debugging via USB feature from affected devices.
Note: This issue only affected Firefox for Android. Other operating systems are unaffected.

References

#CVE-2020-26965: Software keyboards may have remembered typed passwords

Reporter
Makoto Kato
Impact
low
Description

Some websites have a feature "Show Password" where clicking a button will change a password field into a textbook field, revealing the typed password. If, when using a software keyboard that remembers user input, a user typed their password and used that feature, the type of the password field was changed, resulting in a keyboard layout change and the possibility for the software keyboard to remember the typed password.

References

#CVE-2020-26966: Single-word search queries were also broadcast to local network

Reporter
tiebuchen
Impact
low
Description

Searching for a single word from the address bar caused an mDNS request to be sent on the local network searching for a hostname consisting of that string; resulting in an information leak.
Note: This issue only affected Windows operating systems. Other operating systems are unaffected.

References

#CVE-2020-26967: Mutation Observers could break or confuse Firefox Screenshots feature

Reporter
Kaizer Soze
Impact
low
Description

When listening for page changes with a Mutation Observer, a malicious web page could confuse Firefox Screenshots into interacting with elements other than those that it injected into the page. This would lead to internal errors and unexpected behavior in the Screenshots code.

References

#CVE-2020-26968: Memory safety bugs fixed in Firefox 83 and Firefox ESR 78.5

Reporter
Mozilla developers and community
Impact
high
Description

Mozilla developers Randell Jesup, Christian Holler, Jason Kratzer, Byron Campen, and Steve Fink reported memory safety bugs present in Firefox 82 and Firefox ESR 78.4. Some of these bugs showed evidence of memory corruption and we presume that with enough effort some of these could have been exploited to run arbitrary code.

References

#CVE-2020-26969: Memory safety bugs fixed in Firefox 83

Reporter
Mozilla developers and community
Impact
high
Description

Mozilla developers Tyson Smith, Aaron Klotz, David Major and Jason Kratzer reported memory safety bugs present in Firefox 82. Some of these bugs showed evidence of memory corruption and we presume that with enough effort some of these could have been exploited to run arbitrary code.

References