Every CVE Search/ Get API key

CVE-2021-45710

Race Condition in tokio

8.1 HighFix available

An issue was discovered in the tokio crate before 1.8.4, and 1.9.x through 1.13.x before 1.13.1, for Rust. In certain circumstances involving a closed oneshot channel, there is a data race and memory corruption.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

1.24%Up 0.7 points since Dec 27, 2021
90%50%10%1%

What each source reports

NVD Score used 8.1

An issue was discovered in the tokio crate before 1.8.4, and 1.9.x through 1.13.x before 1.13.1, for Rust. In certain circumstances involving a closed oneshot channel, there is a data race and memory corruption.

Record
CVE-2021-45710
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
5.1 MediumAV:N/AC:H/Au:N/C:P/I:P/A:P
Weakness
CWE-362
Updated
2026-11-02
CVE List No score

An issue was discovered in the tokio crate before 1.8.4, and 1.9.x through 1.13.x before 1.13.1, for Rust. In certain circumstances involving a closed oneshot channel, there is a data race and memory corruption.

Record
CVE-2021-45710
Updated
2026-11-02
EUVDEUVD-2022-0582 No score

An issue was discovered in the tokio crate before 1.8.4, and 1.9.x through 1.13.x before 1.13.1, for Rust. In certain circumstances involving a closed oneshot channel, there is a data race and memory corruption.

Record
EUVD-2022-0582
Updated
2026-11-03
GitHub AdvisoriesGHSA-fg7r-2g4j-5cgr 8.1

Race Condition in tokio

If a tokio::sync::oneshot channel is closed (via the oneshot::Receiver::close method), a data race may occur if the oneshot::Sender::send method is called while the corresponding oneshot::Receiver is awaited or calling try_recv.

When these methods are called concurrently on a closed channel, the two halves of the channel can concurrently access a shared memory location, resulting in a data race. This has been observed to cause memory corruption.

Note that the race only occurs when both halves of the channel are used after the Receiver half has called close. Code where close is not used, or where the Receiver is not awaited and try_recv is not called after calling close, is not affected.

Record
GHSA-fg7r-2g4j-5cgr
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-362
Updated
2026-11-02
OSV 8.1

An issue was discovered in the tokio crate before 1.8.4, and 1.9.x through 1.13.x before 1.13.1, for Rust. In certain circumstances involving a closed oneshot channel, there is a data race and memory corruption.

Record
CVE-2021-45710
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2021-45710 8.1

An issue was discovered in the tokio crate before 1.8.4, and 1.9.x through 1.13.x before 1.13.1, for Rust. In certain circumstances involving a closed oneshot channel, there is a data race and memory corruption.

Record
DEBIAN-CVE-2021-45710
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 21 moreShow less
OSVGHSA-fg7r-2g4j-5cgr 8.1

Race Condition in tokio

If a tokio::sync::oneshot channel is closed (via the oneshot::Receiver::close method), a data race may occur if the oneshot::Sender::send method is called while the corresponding oneshot::Receiver is awaited or calling try_recv.

When these methods are called concurrently on a closed channel, the two halves of the channel can concurrently access a shared memory location, resulting in a data race. This has been observed to cause memory corruption.

Note that the race only occurs when both halves of the channel are used after the Receiver half has called close. Code where close is not used, or where the Receiver is not awaited and try_recv is not called after calling close, is not affected.

Record
GHSA-fg7r-2g4j-5cgr
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-362
Updated
2026-11-02
OSVUBUNTU-CVE-2021-45710 8.1

An issue was discovered in the tokio crate before 1.8.4, and 1.9.x through 1.13.x before 1.13.1, for Rust. In certain circumstances involving a closed oneshot channel, there is a data race and memory corruption.

Record
UBUNTU-CVE-2021-45710
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVopenSUSE-SU-2024:0294-1 No score

Security update for kanidm

This update for kanidm fixes the following issues:

  • kanidm version 1.3.3~git0.f075d13:
    • Release 1.3.3
    • Mail substr index (#2981)
Record
openSUSE-SU-2024:0294-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11710-1 No score

greetd-0.8.0-2.1 on GA media

These are all security issues fixed in the greetd-0.8.0-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11710-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11711-1 No score

kanidm-1.1.0~alpha7~git0.c8468199-1.1 on GA media

These are all security issues fixed in the kanidm-1.1.0alpha7git0.c8468199-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11711-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11714-1 No score

rustscan-2.0.1+0-1.1 on GA media

These are all security issues fixed in the rustscan-2.0.1+0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11714-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11715-1 No score

rustup-1.24.3~git1.0a74fef5-2.1 on GA media

These are all security issues fixed in the rustup-1.24.3~git1.0a74fef5-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11715-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11716-1 No score

sccache-0.2.15~git0.6b6d2f7-8.1 on GA media

These are all security issues fixed in the sccache-0.2.15~git0.6b6d2f7-8.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11716-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11717-1 No score

tuigreet-0.7.1-3.1 on GA media

These are all security issues fixed in the tuigreet-0.7.1-3.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11717-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11720-1 No score

cargo-c-0.8.1~git0.cce1b08-2.1 on GA media

These are all security issues fixed in the cargo-c-0.8.1~git0.cce1b08-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11720-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11721-1 No score

librav1e0-0.5.1+0-2.1 on GA media

These are all security issues fixed in the librav1e0-0.5.1+0-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11721-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11722-1 No score

spotifyd-0.3.3-2.1 on GA media

These are all security issues fixed in the spotifyd-0.3.3-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11722-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11729-1 No score

zram-generator-1.1.1~git5.8612dbb-1.1 on GA media

These are all security issues fixed in the zram-generator-1.1.1~git5.8612dbb-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11729-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11751-1 No score

afterburn-5.0.0-6.1 on GA media

These are all security issues fixed in the afterburn-5.0.0-6.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11751-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11916-1 No score

tealdeer-1.5.0+0-1.1 on GA media

These are all security issues fixed in the tealdeer-1.5.0+0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11916-1
Updated
2026-11-02
OSVRUSTSEC-2021-0124 No score

Data race when sending and receiving after closing a `oneshot` channel

If a tokio::sync::oneshot channel is closed (via the oneshot::Receiver::close method), a data race may occur if the oneshot::Sender::send method is called while the corresponding oneshot::Receiver is awaited or calling try_recv.

When these methods are called concurrently on a closed channel, the two halves of the channel can concurrently access a shared memory location, resulting in a data race. This has been observed to cause memory corruption.

Note that the race only occurs when both halves of the channel are used after the Receiver half has called close. Code where close is not used, or where the Receiver is not awaited and try_recv is not called after calling close, is not affected.

See tokio#4225 for more details.

Record
RUSTSEC-2021-0124
Updated
2026-11-02
OSVSUSE-SU-2022:3949-1 No score

Security update for rustup

This update for rustup fixes the following issues:

Updated to version 1.25.1~0:

  • CVE-2022-24713: Fixed Regex denial of service (bsc#1196972).
  • CVE-2021-45710: Fixed tokio data race with memory corruption (bsc#1194119).
Record
SUSE-SU-2022:3949-1
Updated
2026-11-02
OSVSUSE-SU-2022:3996-1 No score

Security update for 389-ds

This update for 389-ds fixes the following issues:

  • CVE-2021-45710: Fixed tokio data race with memory corruption (bsc#1194119).

  • Update to version 2.0.16~git56.d15a0a7:

  • Failure to migrate from openldap if pwdPolicyChecker present (bsc#1205146).

  • Resolve issue with checklist post migration when dds is present (bsc#1204748).

  • Improve reliability of migrations from openldap when dynamic directory services is configured (bsc#1204493).

Record
SUSE-SU-2022:3996-1
Updated
2026-11-02
OSVSUSE-SU-2022:4073-1 No score

Security update for sccache

This update for sccache fixes the following issues:

Updated to version 0.3.0:

  • CVE-2022-24713: Fixed Regex denial of service (bsc#1196972).
  • CVE-2021-45710: Fixed tokio data race with memory corruption (bsc#1194119).
  • Added hardening to systemd service(s) (bsc#1181400).
Record
SUSE-SU-2022:4073-1
Updated
2026-11-02
OSVSUSE-SU-2022:4124-1 No score

Security update for 389-ds

This update for 389-ds fixes the following issues:

  • CVE-2021-45710: Fixed tokio data race with memory corruption (bsc#1194119).

  • Update to version 2.0.16~git56.d15a0a7.

  • Failure to migrate from openldap if pwdPolicyChecker present (bsc#1205146).

  • Resolve issue with checklist post migration when dds is present (bsc#1204748).

  • Improve reliability of migrations from openldap when dynamic directory services is configured (bsc#1204493).

Record
SUSE-SU-2022:4124-1
Updated
2026-11-02
OSVSUSE-SU-2023:3526-1 No score

Security update for sccache

This update for sccache fixes the following issues:

  • Update to version 0.4.2.
  • CVE-2021-45710: Fixed a segmentation fault due to data race in tokio crate. (bsc#1194119)
  • CVE-2022-24713: Fixed a ReDoS issue due to vulnerable regex crate. (bsc#1196972)
  • CVE-2022-31394: Fixed a DoS issue due to the max header list size not settable. (bsc#1208553)
  • CVE-2023-1521: Fixed a local privilege escalation. (bsc#1212407)
Record
SUSE-SU-2023:3526-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
tokio
crates.io
1.9.0 up to 1.13.1
1.13.1
tokio
crates.io
0.1.14 up to 1.8.4
1.8.4
rust-tokio
Debian:12
before 1.15.0-1
1.15.0-1
rust-tokio
Debian:13
before 1.15.0-1
1.15.0-1
rust-tokio
Debian:14
before 1.15.0-1
1.15.0-1
tokio
crates.io
0.1.14 up to 1.8.4, 1.9.0 up to 1.13.1
1.8.41.13.1
rustup
SUSE:Linux Enterprise Module for Development Tools 15 SP3
From an advisory covering 2 CVEs
before 1.25.1~0-150300.7.13.2
1.25.1~0-150300.7.13.2
rustup
openSUSE:Leap 15.3
From an advisory covering 2 CVEs
before 1.25.1~0-150300.7.13.2
1.25.1~0-150300.7.13.2
389-ds
SUSE:Linux Enterprise Module for Server Applications 15 SP4
before 2.0.16~git56.d15a0a7-150400.3.15.1
2.0.16~git56.d15a0a7-150400.3.15.1
389-ds
openSUSE:Leap 15.4
before 2.0.16~git56.d15a0a7-150400.3.15.1
2.0.16~git56.d15a0a7-150400.3.15.1
Show 25 moreShow less
Affected packages
PackageAffectedFixed
sccache
SUSE:Linux Enterprise Module for Development Tools 15 SP3
From an advisory covering 2 CVEs
before 0.3.0~git5.14a4b8b-150300.7.9.1
0.3.0~git5.14a4b8b-150300.7.9.1
sccache
openSUSE:Leap 15.3
From an advisory covering 2 CVEs
before 0.3.0~git5.14a4b8b-150300.7.9.1
0.3.0~git5.14a4b8b-150300.7.9.1
389-ds
SUSE:Linux Enterprise Module for Server Applications 15 SP3
before 1.4.4.19~git59.136fc84-150300.3.27.1
1.4.4.19~git59.136fc84-150300.3.27.1
389-ds
openSUSE:Leap 15.3
before 1.4.4.19~git59.136fc84-150300.3.27.1
1.4.4.19~git59.136fc84-150300.3.27.1
sccache
SUSE:Linux Enterprise Module for Development Tools 15 SP4
From an advisory covering 4 CVEs
before 0.4.2~3-150400.3.3.1
0.4.2~3-150400.3.3.1
sccache
SUSE:Linux Enterprise Module for Development Tools 15 SP5
From an advisory covering 4 CVEs
before 0.4.2~3-150400.3.3.1
0.4.2~3-150400.3.3.1
sccache
openSUSE:Leap 15.4
From an advisory covering 4 CVEs
before 0.4.2~3-150400.3.3.1
0.4.2~3-150400.3.3.1
sccache
openSUSE:Leap 15.5
From an advisory covering 4 CVEs
before 0.4.2~3-150400.3.3.1
0.4.2~3-150400.3.3.1
rust-tokio
Ubuntu:20.04:LTS
All versions, plus listed versions
0.1.14-20.1.14-2build1
None known
rust-tokio
Ubuntu:22.04:LTS
All versions, plus listed versions
0.1.14-2build11.15.0-1
None known
rust-tokio
Ubuntu:24.04:LTS
All versions, plus listed versions
1.29.1-11.33.0-11.35.1-1
None known
rust-tokio
Ubuntu:25.10
All versions, plus listed versions
1.43.0-11.43.1-11.47.1-2
None known
rust-tokio
Ubuntu:26.10
All versions, plus listed versions
1.48.0-21.53.1-1
None known
rust-tokio
Ubuntu:26.04:LTS
All versions, plus listed versions
1.47.1-21.48.0-2
None known
kanidm
SUSE:Package Hub 15 SP6
From an advisory covering 3 CVEs
before 1.3.3~git0.f075d13-bp156.4.1
1.3.3~git0.f075d13-bp156.4.1
kanidm
openSUSE:Leap 15.6
From an advisory covering 3 CVEs
before 1.3.3~git0.f075d13-bp156.4.1
1.3.3~git0.f075d13-bp156.4.1
greetd
openSUSE:Tumbleweed
before 0.8.0-2.1
0.8.0-2.1
rustscan
openSUSE:Tumbleweed
before 2.0.1+0-1.1
2.0.1+0-1.1
rustup
openSUSE:Tumbleweed
before 1.24.3~git1.0a74fef5-2.1
1.24.3~git1.0a74fef5-2.1
sccache
openSUSE:Tumbleweed
before 0.2.15~git0.6b6d2f7-8.1
0.2.15~git0.6b6d2f7-8.1
tuigreet
openSUSE:Tumbleweed
before 0.7.1-3.1
0.7.1-3.1
cargo-c
openSUSE:Tumbleweed
From an advisory covering 2 CVEs
before 0.8.1~git0.cce1b08-2.1
0.8.1~git0.cce1b08-2.1
spotifyd
openSUSE:Tumbleweed
before 0.3.3-2.1
0.3.3-2.1
zram-generator
openSUSE:Tumbleweed
From an advisory covering 2 CVEs
before 1.1.1~git5.8612dbb-1.1
1.1.1~git5.8612dbb-1.1
tealdeer
openSUSE:Tumbleweed
before 1.5.0+0-1.1
1.5.0+0-1.1

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-45710 is a high vulnerability (CVSS 8.1) in Tokio, published November 16, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.24%, the 69th percentile. Fixed in tokio 1.13.1.

References

Show 32 moreShow less
MoveEnter Open