Skip to content
Fencer Vulns
high 8.1

CVE-2020-15254 json

Undefined Behavior in bounded Crossbeam channel

published 2020-06-26 6 y ago modified 2026-07-08 4 mo ago also CVE-2020-35904 , GHSA-m8h8-v6jh-c762 , GHSA-v5m7-53cv-f3hx , RUSTSEC-2020-0052 , EUVD-2021-1883

cvss
8.1
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
2.7%
EPSS 2.7% chance of exploitation in 30 days, percentile 86%
public exploits
0
none known

Summary

Crossbeam is a set of tools for concurrent programming. In crossbeam-channel before version 0.4.4, the bounded channel incorrectly assumes that `Vec::from_iter` has allocated capacity that same as 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 assumes described above. This is unsound and causing deallocation with the incorrect capacity when `Vec::from_iter` has allocated different sizes with the number of iterator elements. This has been fixed in crossbeam-channel 0.4.4.

Patch / fix

  • crates.io crossbeam-channel 0.4.4
  • crossbeam_project crossbeam 0.4.4
  • firefox Ubuntu 16.04 LTS 82.0+build2-0ubuntu0.16.04.5
  • firefox Ubuntu 18.04 LTS 82.0+build2-0ubuntu0.18.04.1
  • firefox Ubuntu 20.04 LTS 82.0+build2-0ubuntu0.20.04.1

ubuntu advisories UBUNTU-CVE-2020-15254

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • firefox-esr openSUSE Tumbleweed 128.5.1-1.1
  • MozillaFirefox openSUSE Tumbleweed 92.0-1.2

opensuse advisories openSUSE-SU-2024:14572-1openSUSE-SU-2024:10600-1

  • firefox Alpine 3.23, Alpine 3.22, Alpine 3.21 +9 more 82.0-r0
  • librewolf Alpine 3.24, Alpine 3.23, Alpine 3.22 +1 more 82.0-r0

alpine advisories ALPINE-CVE-2020-15254

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • firefox Arch Linux 82.0-1

arch linux advisories AVG-1256

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2020-15254 updated cvss 9.8

Mozilla: Undefined behavior in bounded channel of crossbeam rust crate

  • Red Hat Enterprise Linux 6 firefox Red Hat Enterprise Linux 7 firefox Red Hat Enterprise Linux 8 firefox
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

2.70% chance of exploitation in the next 30 days, higher than 86% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/crossbeam-rs/crossbeam/pull/533 referenced PoC, tagged "exploit" by a source, unverified
  • github.com https://github.com/crossbeam-rs/crossbeam/issues/539 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 3.1 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
NVD 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
NVD 2.0 7.5 AV:N/AC:L/Au:N/C:P/I:P/A:P
GitHub 3.1 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
GitHub 3.1 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
crates.io crossbeam-channel
>=0.4.3, <0.4.4
0.4.4

Affected products

  • crossbeam-rs crossbeam

Classification

Weakness
  • CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer
  • CWE-401 Missing Release of Memory after Effective Lifetime
  • CWE-131 Incorrect Calculation of Buffer Size

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.