Mozilla Foundation Security Advisory 2020-29

Security Vulnerabilities fixed in Thunderbird 78

Announced
July 16, 2020
Impact
high
Products
Thunderbird
Fixed in
  • Thunderbird 78

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-2020-12415: AppCache manifest poisoning due to url encoded character processing

Reporter
Kevin Higgs
Impact
high
Description

When %2F was present in a manifest URL, Thunderbird's AppCache behavior may have become confused and allowed a manifest to be served from a subdirectory. This could cause the appcache to be used to service requests for the top level directory.

References

#CVE-2020-12416: Use-after-free in WebRTC VideoBroadcaster

Reporter
Alex Mayorga
Impact
high
Description

A VideoStreamEncoder may have been freed in a race condition with VideoBroadcaster::AddOrUpdateSink, resulting in a use-after-free, memory corruption, and a potentially exploitable crash.

References

#CVE-2020-12417: Memory corruption due to missing sign-extension for ValueTags on ARM64

Reporter
Deian Stefan
Impact
high
Description

Due to confusion about ValueTags on JavaScript Objects, an object may pass through the type barrier, resulting in memory corruption and a potentially exploitable crash.
Note: this issue only affects Firefox on ARM64 platforms.

References

#CVE-2020-12418: Information disclosure due to manipulated URL object

Reporter
Marcin 'Icewall' Noga of Cisco Talos
Impact
high
Description

Manipulating individual parts of a URL object could have caused an out-of-bounds read, leaking process memory to malicious JavaScript.

References

#CVE-2020-12419: Use-after-free in nsGlobalWindowInner

Reporter
worcester12345
Impact
high
Description

When processing callbacks that occurred during window flushing in the parent process, the associated window may die; causing a use-after-free condition. This could have led to memory corruption and a potentially exploitable crash.

References

#CVE-2020-12420: Use-After-Free when trying to connect to a STUN server

Reporter
Byron Campen
Impact
high
Description

When trying to connect to a STUN server, a race condition could have caused a use-after-free of a pointer, leading to memory corruption and a potentially exploitable crash.

References

#CVE-2020-15648: X-Frame-Options bypass using object or embed tags

Reporter
Frederik Braun
Impact
moderate
Description

Using object or embed tags, it was possible to frame other websites, even if they disallowed framing using the X-Frame-Options header.
Note: This issue is pending a CVE assignment and will be updated when one is available.

References

#CVE-2020-12402: RSA Key Generation vulnerable to side-channel attack

Reporter
Sohaib ul Hassan, Iaroslav Gridin, Ignacio M. Delgado-Lozano, Cesar Pereida García, Jesús-Javier Chi-Domínguez, Alejandro Cabrera Aldaya, and Billy Bob Brumley, Network and Information Security (NISEC) Group, Tampere University, Finland
Impact
moderate
Description

During RSA key generation, bignum implementations used a variation of the Binary Extended Euclidean Algorithm which entailed significantly input-dependent flow. This allowed an attacker able to perform electromagnetic-based side channel attacks to record traces leading to the recovery of the secret primes.
We would like to thank Sohaib ul Hassan for contributing a fix for this issue as well.
Note: An unmodified Firefox browser does not generate RSA keys in normal operation and is not affected, but products built on top of it might.

References

#CVE-2020-12421: Add-On updates did not respect the same certificate trust rules as software updates

Reporter
Chuck Harmston, Robert Hardy
Impact
moderate
Description

When performing add-on updates, certificate chains terminating in non-built-in-roots were rejected (even if they were legitimately added by an administrator.) This could have caused add-ons to become out-of-date silently without notification to the user.

References

#CVE-2020-12422: Integer overflow in nsJPEGEncoder::emptyOutputBuffer

Reporter
Ronald Crane
Impact
moderate
Description

In non-standard configurations, a JPEG image created by JavaScript could have caused an internal variable to overflow, resulting in an out of bounds write, memory corruption, and a potentially exploitable crash.

References

#CVE-2020-12423: DLL Hijacking due to searching %PATH% for a library

Reporter
Riccardo Ancarani
Impact
moderate
Description

When the Windows DLL "webauthn.dll" was missing from the Operating System, and a malicious one was placed in a folder in the user's %PATH%, Thunderbird may have loaded the DLL, leading to arbitrary code execution.
Note: This issue only affects the Windows operating system; other operating systems are unaffected.

References

#CVE-2020-12424: WebRTC permission prompt could have been bypassed by a compromised content process

Reporter
Paul Theriault
Impact
low
Description

When constructing a permission prompt for WebRTC, a URI was supplied from the content process. This URI was untrusted, and could have been the URI of an origin that was previously granted permission; bypassing the prompt.

References

#CVE-2020-12425: Out of bound read in Date.parse()

Reporter
Bruno Keith
Impact
low
Description

Due to confusion processing a hyphen character in Date.parse(), a one-byte out of bounds read could have occurred, leading to potential information disclosure.

References

#CVE-2020-12426: Memory safety bugs fixed in Thunderbird 78

Reporter
Mozilla developers and community
Impact
high
Description

Mozilla developers and community members Bob Clary, Benjamin Bouvier, Calixte Denizet, Christian Holler reported memory safety bugs present in Thunderbird 77. 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