Arch Linux Security Advisory ASA-202011-1
========================================
Severity: Critical
Date    : 2020-11-02
CVE-ID  : CVE-2020-15254 CVE-2020-15680 CVE-2020-15681 CVE-2020-15682
          CVE-2020-15683 CVE-2020-15684 CVE-2020-15969
Package : firefox
Type    : multiple issues
Remote  : Yes
Link    : https://security.archlinux.org/AVG-1256

Summary
======
The package firefox before version 82.0-1 is vulnerable to multiple
issues including arbitrary code execution, information disclosure and
content spoofing.

Resolution
=========
Upgrade to 82.0-1.

# pacman -Syu "firefox>=82.0-1"

The problems have been fixed upstream in version 82.0.

Workaround
=========
None.

Description
==========
- CVE-2020-15254 (arbitrary code execution)

An undefined behaviour leading to memory corruption issues has been
found in the crossbeam rust crate <= 0.4.3. The "bounded" channel
incorrectly assumes that "Vec::from_iter" has allocated enough capacity
for the number of iterator elements. "Vec::from_iter" does not actually
guarantee that and may allocate extra memory. The destructor of the
"bounded" channel reconstructs "Vec" from the raw pointer based on the
incorrect assumptions described above. This is unsound and causing
deallocation with the incorrect capacity when the size allocated by
"Vec::from_iter" differs from the number of iterator elements.

- CVE-2020-15680 (information disclosure)

An information disclosure issue has been found in Firefox before 82.0
where if a valid external protocol handler was referenced in an image
tag, the resulting broken image size could be distinguished from a
broken image size of a non-existent protocol handler. This allowed an
attacker to successfully probe whether an external protocol handler was
registered.

- CVE-2020-15681 (arbitrary code execution)

A memory corruption issue has been found in Firefox before 82.0 where,
when multiple WASM threads had a reference to a module, and were
looking up exported functions, one WASM thread could have overwritten
the entry of another thread in a shared stub table, resulting in a
potentially exploitable crash.

- CVE-2020-15682 (content spoofing)

A spoofing issue has been found in Firefox before 82.0 where, when a
link to an external protocol was clicked, a prompt was presented that
allowed the user to choose what application to open it in. An attacker
could induce that prompt to be associated with an origin they didn't
control, resulting in a spoofing attack. This was fixed by changing
external protocol prompts to be tab-modal while also ensuring they
could not be incorrectly associated with a different origin.

- CVE-2020-15683 (arbitrary code execution)

Several memory safety bugs have been found in Firefox before 82.0 and
Firefox ESR before 78.4. Some of these bugs showed evidence of memory
corruption and Mozilla presumes that with enough effort some of these
could have been exploited to run arbitrary code.

- CVE-2020-15684 (arbitrary code execution)

Several memory safety bugs have been found in Firefox before 82.0. Some
of these bugs showed evidence of memory corruption and Mozilla presumes
that with enough effort some of these could have been exploited to run
arbitrary code.

- CVE-2020-15969 (arbitrary code execution)

A use after free security issue has been found in the WebRTC component
of the chromium browser before 86.0.4240.75 and of Firefox before 82.0.

Impact
=====
A remote attacker might be able to access sensitive information or
execute arbitrary code.

References
=========
https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/
https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15254
https://bugzilla.mozilla.org/show_bug.cgi?id=1668514
https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-v5m7-53cv-f3hx
https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15680
https://bugzilla.mozilla.org/show_bug.cgi?id=1658881
https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15681
https://bugzilla.mozilla.org/show_bug.cgi?id=1666568
https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15682
https://bugzilla.mozilla.org/show_bug.cgi?id=1636654
https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15683
https://bugzilla.mozilla.org/buglist.cgi?bug_id=1576843%2C1656987%2C1660954%2C1662760%2C1663439%2C1666140
https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15684
https://bugzilla.mozilla.org/buglist.cgi?bug_id=1653764%2C1661402%2C1662259%2C1664257
https://chromereleases.googleblog.com/2020/10/stable-channel-update-for-desktop.html
https://crbug.com/1124659
https://security.archlinux.org/CVE-2020-15254
https://security.archlinux.org/CVE-2020-15680
https://security.archlinux.org/CVE-2020-15681
https://security.archlinux.org/CVE-2020-15682
https://security.archlinux.org/CVE-2020-15683
https://security.archlinux.org/CVE-2020-15684
https://security.archlinux.org/CVE-2020-15969

ArchLinux: 202011-1: firefox: multiple issues

November 3, 2020

Summary

- CVE-2020-15254 (arbitrary code execution) An undefined behaviour leading to memory corruption issues has been found in the crossbeam rust crate <= 0.4.3. The "bounded" channel incorrectly assumes that "Vec::from_iter" has allocated enough capacity for the number of iterator elements. "Vec::from_iter" does not actually guarantee that and may allocate extra memory. The destructor of the "bounded" channel reconstructs "Vec" from the raw pointer based on the incorrect assumptions described above. This is unsound and causing deallocation with the incorrect capacity when the size allocated by "Vec::from_iter" differs from the number of iterator elements.
- CVE-2020-15680 (information disclosure)
An information disclosure issue has been found in Firefox before 82.0 where if a valid external protocol handler was referenced in an image tag, the resulting broken image size could be distinguished from a broken image size of a non-existent protocol handler. This allowed an attacker to successfully probe whether an external protocol handler was registered.
- CVE-2020-15681 (arbitrary code execution)
A memory corruption issue has been found in Firefox before 82.0 where, when multiple WASM threads had a reference to a module, and were looking up exported functions, one WASM thread could have overwritten the entry of another thread in a shared stub table, resulting in a potentially exploitable crash.
- CVE-2020-15682 (content spoofing)
A spoofing issue has been found in Firefox before 82.0 where, when a link to an external protocol was clicked, a prompt was presented that allowed the user to choose what application to open it in. An attacker could induce that prompt to be associated with an origin they didn't control, resulting in a spoofing attack. This was fixed by changing external protocol prompts to be tab-modal while also ensuring they could not be incorrectly associated with a different origin.
- CVE-2020-15683 (arbitrary code execution)
Several memory safety bugs have been found in Firefox before 82.0 and Firefox ESR before 78.4. Some of these bugs showed evidence of memory corruption and Mozilla presumes that with enough effort some of these could have been exploited to run arbitrary code.
- CVE-2020-15684 (arbitrary code execution)
Several memory safety bugs have been found in Firefox before 82.0. Some of these bugs showed evidence of memory corruption and Mozilla presumes that with enough effort some of these could have been exploited to run arbitrary code.
- CVE-2020-15969 (arbitrary code execution)
A use after free security issue has been found in the WebRTC component of the chromium browser before 86.0.4240.75 and of Firefox before 82.0.

Resolution

Upgrade to 82.0-1. # pacman -Syu "firefox>=82.0-1"
The problems have been fixed upstream in version 82.0.

References

https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/ https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15254 https://bugzilla.mozilla.org/show_bug.cgi?id=1668514 https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-v5m7-53cv-f3hx https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15680 https://bugzilla.mozilla.org/show_bug.cgi?id=1658881 https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15681 https://bugzilla.mozilla.org/show_bug.cgi?id=1666568 https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15682 https://bugzilla.mozilla.org/show_bug.cgi?id=1636654 https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15683 https://bugzilla.mozilla.org/buglist.cgi?bug_id=1576843%2C1656987%2C1660954%2C1662760%2C1663439%2C1666140 https://www.mozilla.org/en-US/security/advisories/mfsa2020-45/#CVE-2020-15684 https://bugzilla.mozilla.org/buglist.cgi?bug_id=1653764%2C1661402%2C1662259%2C1664257 https://chromereleases.googleblog.com/2020/10/stable-channel-update-for-desktop.html https://crbug.com/1124659 https://security.archlinux.org/CVE-2020-15254 https://security.archlinux.org/CVE-2020-15680 https://security.archlinux.org/CVE-2020-15681 https://security.archlinux.org/CVE-2020-15682 https://security.archlinux.org/CVE-2020-15683 https://security.archlinux.org/CVE-2020-15684 https://security.archlinux.org/CVE-2020-15969

Severity
CVE-2020-15683 CVE-2020-15684 CVE-2020-15969
Package : firefox
Type : multiple issues
Remote : Yes
Link : https://security.archlinux.org/AVG-1256

Workaround

None.