Mozilla Foundation Security Advisory 2021-33

Security Vulnerabilities fixed in Firefox 91

Announced
August 10, 2021
Impact
high
Products
Firefox
Fixed in
  • Firefox 91

#CVE-2021-29986: Race condition when resolving DNS names could have led to memory corruption

Reporter
pahhur
Impact
high
Description

A suspected race condition when calling getaddrinfo led to memory corruption and a potentially exploitable crash.
Note: This issue only affected Linux operating systems. Other operating systems are unaffected.

References

#CVE-2021-29981: Live range splitting could have led to conflicting assignments in the JIT

Reporter
Gary Kwong
Impact
high
Description

An issue present in lowering/register allocation could have led to obscure but deterministic register confusion failures in JITted code that would lead to a potentially exploitable crash.

References

#CVE-2021-29988: Memory corruption as a result of incorrect style treatment

Reporter
Irvan Kurniawan
Impact
high
Description

Firefox incorrectly treated an inline list-item element as a block element, resulting in an out of bounds read or memory corruption, and a potentially exploitable crash.

References

#CVE-2021-29983: Firefox for Android could get stuck in fullscreen mode

Reporter
Irvan Kurniawan
Impact
high
Description

Firefox for Android could get stuck in fullscreen mode and not exit it even after normal interactions that should cause it to exit.
Note: This issue only affected Firefox for Android. Other operating systems are unaffected.

References

#CVE-2021-29984: Incorrect instruction reordering during JIT optimization

Reporter
Lukas Bernhard
Impact
high
Description

Instruction reordering resulted in a sequence of instructions that would cause an object to be incorrectly considered during garbage collection. This led to memory corruption and a potentially exploitable crash.

References

#CVE-2021-29980: Uninitialized memory in a canvas object could have led to memory corruption

Reporter
Irvan Kurniawan
Impact
high
Description

Uninitialized memory in a canvas object could have caused an incorrect free() leading to memory corruption and a potentially exploitable crash.

References

#CVE-2021-29987: Users could have been tricked into accepting unwanted permissions on Linux

Reporter
Irvan Kurniawan
Impact
moderate
Description

After requesting multiple permissions, and closing the first permission panel, subsequent permission panels will be displayed in a different position but still record a click in the default location, making it possible to trick a user into accepting a permission they did not want to.
This bug only affects Firefox on Linux. Other operating systems are unaffected.

References

#CVE-2021-29985: Use-after-free media channels

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

A use-after-free vulnerability in media channels could have led to memory corruption and a potentially exploitable crash.

References

#CVE-2021-29982: Single bit data leak due to incorrect JIT optimization and type confusion

Reporter
Lukas Bernhard
Impact
low
Description

Due to incorrect JIT optimization, we incorrectly interpreted data from the wrong type of object, resulting in the potential leak of a single bit of memory.

References

#CVE-2021-29989: Memory safety bugs fixed in Firefox 91 and Firefox ESR 78.13

Reporter
Mozilla developers and community
Impact
high
Description

Mozilla developers Christoph Kerschbaumer, Olli Pettay, Sandor Molnar, and Simon Giesecke reported memory safety bugs present in Firefox 90 and Firefox ESR 78.12. 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-2021-29990: Memory safety bugs fixed in Firefox 91

Reporter
Mozilla developers and community
Impact
high
Description

Mozilla developers and community members Kershaw Chang, Philipp, Chris Peterson, and Sebastian Hengst reported memory safety bugs present in Firefox 90. 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