Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. crossbeam-channel
  4. ›
  5. GHSA-pg9f-39pc-qf8g

GHSA-pg9f-39pc-qf8g: crossbeam-channel Vulnerable to Double Free on Drop

April 10, 2025

The internal Channel type’s Drop method has a race which could, in some circumstances, lead to a double-free. This could result in memory corruption.

Quoting from the upstream description in merge request #1187:

The problem lies in the fact that dicard_all_messages contained two paths that could lead to head.block being read but only one of them would swap the value. This meant that dicard_all_messages could end up observing a non-null block pointer (and therefore attempting to free it) without setting head.block to null. This would then lead to Channel::drop making a second attempt at dropping the same pointer.

The bug was introduced while fixing a memory leak, in upstream MR #1084, first published in 0.5.12.

The fix is in upstream MR #1187 and has been published in 0.5.15

References

  • github.com/advisories/GHSA-pg9f-39pc-qf8g
  • github.com/crossbeam-rs/crossbeam
  • github.com/crossbeam-rs/crossbeam/pull/1187
  • rustsec.org/advisories/RUSTSEC-2025-0024.html

Code Behaviors & Features

Detect and mitigate GHSA-pg9f-39pc-qf8g with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 0.5.11 before 0.5.15

Fixed versions

  • 0.5.15

Solution

Upgrade to version 0.5.15 or above.

Weakness

  • CWE-415: Double Free

Source file

cargo/crossbeam-channel/GHSA-pg9f-39pc-qf8g.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Wed, 14 May 2025 12:15:12 +0000.