Skip to content

← Actionable
Medium, CVSS 4.7

MutexGuard::map can cause a data race in safe code

CVE-2020-35905GHSA-rh4w-94hh-9943

What to do

Vendor fix available. Upgrade each affected package to the fixed version on its release line (futures-util 0.3.7), redeploy, then verify what is actually installed.

This page has no inventory attached, so it cannot say whether you are affected. A vendor fix is not proof that your deployment is fixed.

Affected packages

  • crates.io futures-util

    Affected
    >= 0.3.2, < 0.3.7
    Fixed in
    0.3.7

Sources

Severity and exploitation
Exploitation
No confirmed exploitation recorded. Patch Next marks exploitation only from CISA KEV.
CVSS
4.7 · CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
EPSS
  • CVE-2020-35905: 0.26% estimated exploitation activity in the next 30 days; percentile 18.37 (FIRST EPSS, 2026-11-03). This is a model estimate, not proof of exploitation or customer exposure.
Source description

As published by the source; long descriptions are shortened.

Affected versions of the crate had a Send/Sync implementation for MappedMutexGuard that only considered variance on T, while MappedMutexGuard dereferenced to U. This could of led to data races in safe Rust code when a closure used in MutexGuard::map() returns U that is unrelated to T. The issue was fixed by fixing Send and Sync implementations, and by adding a PhantomData<&'a mut U marker to the MappedMutexGuard type to tell the compiler that the guard is over U too.

Dates and revisions
Published by the source
Last modified by the source
Source last checked
  1. Revision 1 · created ·

    Published from ghsa record GHSA-rh4w-94hh-9943

Agent brief

Preview the exact text before you copy it. Commands are read-only suggestions; review them before running anything.

# Patch Next advisory brief: CVE-2020-35905

Advisory: MutexGuard::map can cause a data race in safe code
IDs: CVE-2020-35905, GHSA-rh4w-94hh-9943
Record: https://patchnext.com/advisories/cve-2020-35905 (revision 1, source checked 26 Oct 2026, 15:34 UTC)
Inventory: none attached. This brief comes from a public page and does not say whether any deployment is affected.
Severity: Medium (CVSS 4.7)
Exploitation: no confirmed exploitation recorded. Patch Next confirms exploitation only from CISA KEV.
Vendor response: Vendor fix available; fixed versions by package: futures-util 0.3.7. A vendor fix does not mean a deployment is fixed.

## Affected components
- crates.io futures-util: affected >= 0.3.2, < 0.3.7; fixed in 0.3.7

## Suggested inspection (read-only)
- crates.io futures-util: check the installed version with your package manager.

## Supported action
Upgrade each affected component to a fixed version on its release line. For a transitive dependency, upgrade the parent package or add an override or constraint, then regenerate the lockfile. Redeploy every environment that ran an affected version.

## Required regression checks
- Run the test suite and a production build.
- Exercise the features that depend on futures-util.
- Repeat the inspection and confirm that only fixed versions remain installed.

## Rollback considerations
- Keep the previous lockfile and deployment artifact. Rolling back reinstates the vulnerable version, so apply any documented mitigation while you fix forward.

## Unresolved questions
- Which deployments run an affected version?
- Exploitation status can change. Check again before lowering the priority.
- Mark the work resolved only after the fixed version is verified in production.

## Sources
- Verified: https://github.com/advisories/GHSA-rh4w-94hh-9943 (GitHub-reviewed advisory GHSA-rh4w-94hh-9943 lists affected ranges: crates.io futures-util >=0.3.2 <0.3.7)

Commands are suggestions: review each one before running it.

Loading voting…