CVE-2022-21658
Race condition in std::fs::remove_dir_all in rustlang
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. The Rust Security Response WG was notified that the std::fs::remove_dir_all standard library function is vulnerable a race condition enabling symlink following (CWE-363). An attacker could use this security issue to trick a privileged program into deleting files and directories the attacker couldn't otherwise access or delete. Rust 1.0.0 through Rust 1.58.0 is affected by this vulnerability with 1.58.1 containing a patch. Note that the following build targets don't have usable APIs to properly mitigate the attack, and are thus still vulnerable even with a patched toolchain: macOS before version 10.10 (Yosemite) and REDOX. We recommend everyone to update to Rust 1.58.1 as soon as possible, especially people developing programs expected to run in privileged contexts (including system daemons and setuid binaries), as those have the highest risk of being affected by this. Note that adding checks in your codebase before calling remove_dir_all will not mitigate the vulnerability, as they would also be vulnerable to race conditions like remove_dir_all itself. The existing mitigation is working as intended outside of race conditions.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.3
Race condition in std::fs::remove_dir_all in rustlang
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. The Rust Security Response WG was notified that the std::fs::remove_dir_all standard library function is vulnerable a race condition enabling symlink following (CWE-363). An attacker could use this security issue to trick a privileged program into deleting files and directories the attacker couldn't otherwise access or delete. Rust 1.0.0 through Rust 1.58.0 is affected by this vulnerability with 1.58.1 containing a patch. Note that the following build targets don't have usable APIs to properly mitigate the attack, and are thus still vulnerable even with a patched toolchain: macOS before version 10.10 (Yosemite) and REDOX. We recommend everyone to update to Rust 1.58.1 as soon as possible, especially people developing programs expected to run in privileged contexts (including system daemons and setuid binaries), as those have the highest risk of being affected by this. Note that adding checks in your codebase before calling remove_dir_all will not mitigate the vulnerability, as they would also be vulnerable to race conditions like remove_dir_all itself. The existing mitigation is working as intended outside of race conditions.
- Record
CVE-2022-21658- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H - Weakness
- CWE-363, CWE-367
- Updated
- 2026-11-02
EUVDEUVD-2022-26876
7.3
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. The Rust Security Response WG was notified that the std::fs::remove_dir_all standard library function is vulnerable a race condition enabling symlink following (CWE-363). An attacker could use this security issue to trick a privileged program into deleting files and directories the attacker couldn't otherwise access or delete. Rust 1.0.0 through Rust 1.58.0 is affected by this vulnerability with 1.58.1 containing a patch. Note that the following build targets don't have usable APIs to properly mitigate the attack, and are thus still vulnerable even with a patched toolchain: macOS before version 10.10 (Yosemite) and REDOX. We recommend everyone to update to Rust 1.58.1 as soon as possible, especially people developing programs expected to run in privileged contexts (including system daemons and setuid binaries), as those have the highest risk of being affected by this. Note that adding checks in your codebase before calling remove_dir_all will not mitigate the vulnerability, as they would also be vulnerable to race conditions like remove_dir_all itself. The existing mitigation is working as intended outside of race conditions.
- Record
EUVD-2022-26876- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H - Updated
- 2026-11-02
NVD
7.3
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. The Rust Security Response WG was notified that the std::fs::remove_dir_all standard library function is vulnerable a race condition enabling symlink following (CWE-363). An attacker could use this security issue to trick a privileged program into deleting files and directories the attacker couldn't otherwise access or delete. Rust 1.0.0 through Rust 1.58.0 is affected by this vulnerability with 1.58.1 containing a patch. Note that the following build targets don't have usable APIs to properly mitigate the attack, and are thus still vulnerable even with a patched toolchain: macOS before version 10.10 (Yosemite) and REDOX. We recommend everyone to update to Rust 1.58.1 as soon as possible, especially people developing programs expected to run in privileged contexts (including system daemons and setuid binaries), as those have the highest risk of being affected by this. Note that adding checks in your codebase before calling remove_dir_all will not mitigate the vulnerability, as they would also be vulnerable to race conditions like remove_dir_all itself. The existing mitigation is working as intended outside of race conditions.
- Record
CVE-2022-21658- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H - CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H - CVSS 2.0
- 3.3 Low
AV:L/AC:M/Au:N/C:N/I:P/A:P - Weakness
- CWE-363, CWE-367
- Updated
- 2026-11-02
OSVAZL-8337
6.3
CVE-2022-21658 affecting package rust for versions less than 1.59.0-1
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. The Rust Security Response WG was notified that the std::fs::remove_dir_all standard library function is vulnerable a race condition enabling symlink following (CWE-363). An attacker could use this security issue to trick a privileged program into deleting files and directories the attacker couldn't otherwise access or delete. Rust 1.0.0 through Rust 1.58.0 is affected by this vulnerability with 1.58.1 containing a patch. Note that the following build targets don't have usable APIs to properly mitigate the attack, and are thus still vulnerable even with a patched toolchain: macOS before version 10.10 (Yosemite) and REDOX. We recommend everyone to update to Rust 1.58.1 as soon as possible, especially people developing programs expected to run in privileged contexts (including system daemons and setuid binaries), as those have the highest risk of being affected by this. Note that adding checks in your codebase before calling remove_dir_all will not mitigate the vulnerability, as they would also be vulnerable to race conditions like remove_dir_all itself. The existing mitigation is working as intended outside of race conditions.
- Record
AZL-8337- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H - Updated
- 2026-11-02
OSVBELL-CVE-2022-21658
6.3
CVE-2022-21658 does not affect BellSoft software
- Record
BELL-CVE-2022-21658- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H - Updated
- 2026-11-02
OSV
7.3
Race condition in std::fs::remove_dir_all in rustlang
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. The Rust Security Response WG was notified that the std::fs::remove_dir_all standard library function is vulnerable a race condition enabling symlink following (CWE-363). An attacker could use this security issue to trick a privileged program into deleting files and directories the attacker couldn't otherwise access or delete. Rust 1.0.0 through Rust 1.58.0 is affected by this vulnerability with 1.58.1 containing a patch. Note that the following build targets don't have usable APIs to properly mitigate the attack, and are thus still vulnerable even with a patched toolchain: macOS before version 10.10 (Yosemite) and REDOX. We recommend everyone to update to Rust 1.58.1 as soon as possible, especially people developing programs expected to run in privileged contexts (including system daemons and setuid binaries), as those have the highest risk of being affected by this. Note that adding checks in your codebase before calling remove_dir_all will not mitigate the vulnerability, as they would also be vulnerable to race conditions like remove_dir_all itself. The existing mitigation is working as intended outside of race conditions.
- Record
CVE-2022-21658- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H - Weakness
- CWE-363, CWE-367
- Updated
- 2026-11-02
Show 20 moreShow less
OSVDEBIAN-CVE-2022-21658
6.3
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. The Rust Security Response WG was notified that the std::fs::remove_dir_all standard library function is vulnerable a race condition enabling symlink following (CWE-363). An attacker could use this security issue to trick a privileged program into deleting files and directories the attacker couldn't otherwise access or delete. Rust 1.0.0 through Rust 1.58.0 is affected by this vulnerability with 1.58.1 containing a patch. Note that the following build targets don't have usable APIs to properly mitigate the attack, and are thus still vulnerable even with a patched toolchain: macOS before version 10.10 (Yosemite) and REDOX. We recommend everyone to update to Rust 1.58.1 as soon as possible, especially people developing programs expected to run in privileged contexts (including system daemons and setuid binaries), as those have the highest risk of being affected by this. Note that adding checks in your codebase before calling remove_dir_all will not mitigate the vulnerability, as they would also be vulnerable to race conditions like remove_dir_all itself. The existing mitigation is working as intended outside of race conditions.
- Record
DEBIAN-CVE-2022-21658- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H - Updated
- 2026-11-03
OSVRHSA-2022:1894
5.3
Red Hat Security Advisory: rust-toolset:rhel8 security, bug fix, and enhancement update
- Record
RHSA-2022:1894- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVRLSA-2022:1894
5.3
Moderate: rust-toolset:rhel8 security, bug fix, and enhancement update
Rust Toolset provides the Rust programming language compiler rustc, the cargo build tool and dependency manager, and required libraries.
The following packages have been upgraded to a later upstream version: rust (1.58.0). (BZ#2002883)
Security Fix(es):
- rust: Race condition in remove_dir_all leading to removal of files outside of the directory being removed (CVE-2022-21658)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the Rocky Linux 8.6 Release Notes linked from the References section.
- Record
RLSA-2022:1894- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2022-21658
7.3
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. The Rust Security Response WG was notified that the std::fs::remove_dir_all standard library function is vulnerable a race condition enabling symlink following (CWE-363). An attacker could use this security issue to trick a privileged program into deleting files and directories the attacker couldn't otherwise access or delete. Rust 1.0.0 through Rust 1.58.0 is affected by this vulnerability with 1.58.1 containing a patch. Note that the following build targets don't have usable APIs to properly mitigate the attack, and are thus still vulnerable even with a patched toolchain: macOS before version 10.10 (Yosemite) and REDOX. We recommend everyone to update to Rust 1.58.1 as soon as possible, especially people developing programs expected to run in privileged contexts (including system daemons and setuid binaries), as those have the highest risk of being affected by this. Note that adding checks in your codebase before calling remove_dir_all will not mitigate the vulnerability, as they would also be vulnerable to race conditions like remove_dir_all itself. The existing mitigation is working as intended outside of race conditions.
- Record
UBUNTU-CVE-2022-21658- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H - CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H - Updated
- 2026-11-02
OSVALSA-2022:1894 No score
Moderate: rust-toolset:rhel8 security, bug fix, and enhancement update
Rust Toolset provides the Rust programming language compiler rustc, the cargo build tool and dependency manager, and required libraries.
The following packages have been upgraded to a later upstream version: rust (1.58.0). (BZ#2002883)
Security Fix(es):
- rust: Race condition in remove_dir_all leading to removal of files outside of the directory being removed (CVE-2022-21658)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinux Release Notes linked from the References section.
- Record
ALSA-2022:1894- Updated
- 2026-11-02
OSVMGASA-2022-0044 No score
Updated rust packages fix security vulnerability
This update provides Rust 1.57.0 as a feature and bugfix update. See the release notes for details.
The 'std::fs::remove_dir_all' standard library function was vulnerable a race condition enabling symlink following (CWE-363). An attacker could use this security issue to trick a privileged program into deleting files and directories the attacker couldn't otherwise access or delete (CVE-2022-21658). This vulnerability was fixed by patching Rust 1.57.0.
- Record
MGASA-2022-0044- Updated
- 2026-11-02
OSVopenSUSE-SU-2022:0149-1 No score
Security update for rust1.56
This update for rust1.56 fixes the following issues:
- CVE-2022-21658: Fixed race condition in std::fs::remove_dir_all (bsc#1194767).
- Record
openSUSE-SU-2022:0149-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2022:0171-1 No score
Security update for rust1.55
This update for rust1.55 fixes the following issues:
- CVE-2022-21658: Fixed race condition in std::fs::remove_dir_all (bsc#1194767).
- Record
openSUSE-SU-2022:0171-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2022:0175-1 No score
Security update for rust1.57
This update for rust1.57 fixes the following issues:
- CVE-2022-21658: Fixed race condition in std::fs::remove_dir_all (bsc#1194767).
- Record
openSUSE-SU-2022:0175-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2022:0491-1 No score
Security update for rust
This update for rust fixes the following issues:
- CVE-2022-21658: Fixed race condition in std::fs::remove_dir_all (bsc#1194767).
- Record
openSUSE-SU-2022:0491-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2022:0843-1 No score
Security update for rust, rust1.58, rust1.59
This update for rust, rust1.58, rust1.59 fixes the following issues:
This update provides both rust1.58 and rust1.59.
Changes in rust1.58:
- Add recommends for GCC for installs to be able to link.
- Add suggests for lld/clang which are faster than gcc for linking to allow users choice on what they use.
- CVE-2022-21658: Resolve race condition in std::fs::remove_dir_all (bsc#1194767)
Version 1.58.0 (2022-01-13)
Language
- [Format strings can now capture arguments simply by writing
{ident}in the string.][90473] This works in all macros accepting format strings. Support for this inpanic!(panic!('{ident}')) requires the 2021 edition; panic invocations in previous editions that appear to be trying to use this will result in a warning lint about not having the intended effect. - [
*const Tpointers can now be dereferenced in const contexts.][89551] - [The rules for when a generic struct implements
Unsizehave been relaxed.][90417] Compiler
- [Add LLVM CFI support to the Rust compiler][89652]
- [Stabilize -Z strip as -C strip][90058]. Note that while release builds already don't add debug symbols for the code you compile, the compiled standard library that ships with Rust includes debug symbols, so you may want to use the
stripoption to remove these symbols to produce smaller release binaries. Note that this release only includes support in rustc, not directly in cargo. - [Add support for LLVM coverage mapping format versions 5 and 6][91207]
- [Emit LLVM optimization remarks when enabled with
-Cremark][90833] - [Update the minimum external LLVM to 12][90175]
- [Add
x86_64-unknown-noneat Tier 3*][89062] - [Build musl dist artifacts with debuginfo enabled][90733]. When building release binaries using musl, you may want to use the newly stabilized strip option to remove these debug symbols, reducing the size of your binaries.
- [Don't abort compilation after giving a lint error][87337]
- [Error messages point at the source of trait bound obligations in more places][89580] * Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support.
Libraries
- [All remaining functions in the standard library have
#[must_use]annotations where appropriate][89692], producing a warning when ignoring their return value. This helps catch mistakes such as expecting a function to mutate a value in place rather than return a new value. - [Paths are automatically canonicalized on Windows for operations that support it][89174]
- [Re-enable debug checks for
copyandcopy_nonoverlapping][90041] - [Implement
RefUnwindSafeforRc<T>][87467] - [Make RSplit<T, P>: Clone not require T: Clone][90117]
- [Implement
TerminationforResult<Infallible, E>][88601]. This allows writingfn main() -> Result<Infallible, ErrorType>, for a program whose successful exits never involve returning frommain(for instance, a program that callsexit, or that usesexecto run another program).
Stabilized APIs
- [
Metadata::is_symlink] - [
Path::is_symlink] - [
{integer}::saturating_div] - [
Option::unwrap_unchecked] - [
Result::unwrap_unchecked] - [
Result::unwrap_err_unchecked] - [
NonZero{unsigned}::is_power_of_two] - [
File::options] These APIs are now usable in const contexts: - [
Duration::new] - [
Duration::checked_add] - [
Duration::saturating_add] - [
Duration::checked_sub] - [
Duration::saturating_sub] - [
Duration::checked_mul] - [
Duration::saturating_mul] - [
Duration::checked_div] - [
MaybeUninit::as_ptr] - [
MaybeUninit::as_mut_ptr] - [
MaybeUninit::assume_init] - [
MaybeUninit::assume_init_ref]
Cargo
- [Add --message-format for install command][cargo/10107]
- [Warn when alias shadows external subcommand][cargo/10082]
Rustdoc
- [Show all Deref implementations recursively in rustdoc][90183]
- [Use computed visibility in rustdoc][88447]
Compatibility…
- Record
openSUSE-SU-2022:0843-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11767-1 No score
cargo1.56-1.56.1-4.1 on GA media
These are all security issues fixed in the cargo1.56-1.56.1-4.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11767-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11768-1 No score
cargo1.57-1.57.0-3.1 on GA media
These are all security issues fixed in the cargo1.57-1.57.0-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11768-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11769-1 No score
cargo1.58-1.58.0-2.1 on GA media
These are all security issues fixed in the cargo1.58-1.58.0-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11769-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:0149-1 No score
Security update for rust1.56
This update for rust1.56 fixes the following issues:
- CVE-2022-21658: Fixed race condition in std::fs::remove_dir_all (bsc#1194767).
- Record
SUSE-SU-2022:0149-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:0171-1 No score
Security update for rust1.55
This update for rust1.55 fixes the following issues:
- CVE-2022-21658: Fixed race condition in std::fs::remove_dir_all (bsc#1194767).
- Record
SUSE-SU-2022:0171-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:0175-1 No score
Security update for rust1.57
This update for rust1.57 fixes the following issues:
- CVE-2022-21658: Fixed race condition in std::fs::remove_dir_all (bsc#1194767).
- Record
SUSE-SU-2022:0175-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:0200-1 No score
Security update for rust
This update for rust fixes the following issues:
- CVE-2022-21658: Fixed race condition in std::fs::remove_dir_all (bsc#1194767).
- Record
SUSE-SU-2022:0200-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:0491-1 No score
Security update for rust
This update for rust fixes the following issues:
- CVE-2022-21658: Fixed race condition in std::fs::remove_dir_all (bsc#1194767).
- Record
SUSE-SU-2022:0491-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:0843-1 No score
Security update for rust, rust1.58, rust1.59
This update for rust, rust1.58, rust1.59 fixes the following issues:
This update provides both rust1.58 and rust1.59.
Changes in rust1.58:
- Add recommends for GCC for installs to be able to link.
- Add suggests for lld/clang which are faster than gcc for linking to allow users choice on what they use.
- CVE-2022-21658: Resolve race condition in std::fs::remove_dir_all (bsc#1194767)
Version 1.58.0 (2022-01-13)
Language
- [Format strings can now capture arguments simply by writing
{ident}in the string.][90473] This works in all macros accepting format strings. Support for this inpanic!(panic!('{ident}')) requires the 2021 edition; panic invocations in previous editions that appear to be trying to use this will result in a warning lint about not having the intended effect. - [
*const Tpointers can now be dereferenced in const contexts.][89551] - [The rules for when a generic struct implements
Unsizehave been relaxed.][90417] Compiler
- [Add LLVM CFI support to the Rust compiler][89652]
- [Stabilize -Z strip as -C strip][90058]. Note that while release builds already don't add debug symbols for the code you compile, the compiled standard library that ships with Rust includes debug symbols, so you may want to use the
stripoption to remove these symbols to produce smaller release binaries. Note that this release only includes support in rustc, not directly in cargo. - [Add support for LLVM coverage mapping format versions 5 and 6][91207]
- [Emit LLVM optimization remarks when enabled with
-Cremark][90833] - [Update the minimum external LLVM to 12][90175]
- [Add
x86_64-unknown-noneat Tier 3*][89062] - [Build musl dist artifacts with debuginfo enabled][90733]. When building release binaries using musl, you may want to use the newly stabilized strip option to remove these debug symbols, reducing the size of your binaries.
- [Don't abort compilation after giving a lint error][87337]
- [Error messages point at the source of trait bound obligations in more places][89580] * Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support.
Libraries
- [All remaining functions in the standard library have
#[must_use]annotations where appropriate][89692], producing a warning when ignoring their return value. This helps catch mistakes such as expecting a function to mutate a value in place rather than return a new value. - [Paths are automatically canonicalized on Windows for operations that support it][89174]
- [Re-enable debug checks for
copyandcopy_nonoverlapping][90041] - [Implement
RefUnwindSafeforRc<T>][87467] - [Make RSplit<T, P>: Clone not require T: Clone][90117]
- [Implement
TerminationforResult<Infallible, E>][88601]. This allows writingfn main() -> Result<Infallible, ErrorType>, for a program whose successful exits never involve returning frommain(for instance, a program that callsexit, or that usesexecto run another program).
Stabilized APIs
- [
Metadata::is_symlink] - [
Path::is_symlink] - [
{integer}::saturating_div] - [
Option::unwrap_unchecked] - [
Result::unwrap_unchecked] - [
Result::unwrap_err_unchecked] - [
NonZero{unsigned}::is_power_of_two] - [
File::options] These APIs are now usable in const contexts: - [
Duration::new] - [
Duration::checked_add] - [
Duration::saturating_add] - [
Duration::checked_sub] - [
Duration::saturating_sub] - [
Duration::checked_mul] - [
Duration::saturating_mul] - [
Duration::checked_div] - [
MaybeUninit::as_ptr] - [
MaybeUninit::as_mut_ptr] - [
MaybeUninit::assume_init] - [
MaybeUninit::assume_init_ref]
Cargo
- [Add --message-format for install command][cargo/10107]
- [Warn when alias shadows external subcommand][cargo/10082]
Rustdoc
- [Show all Deref implementations recursively in rustdoc][90183]
- [Use computed visibility in rustdoc][88447]
Compatibility…
- Record
SUSE-SU-2022:0843-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
cargoAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
cargo-docAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
clippyAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rlsAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rustAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rust-analysisAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rust-debugger-commonAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rust-docAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rust-gdbAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rust-lldbAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
Show 76 moreShow less
| Package | Affected | Fixed |
|---|---|---|
rust-srcAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rust-std-staticAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rust-std-static-wasm32-unknown-unknownAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rust-std-static-wasm32-wasiAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rust-toolsetAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rustfmtAlmaLinux:8 |
before 1.58.1-1.module_el8.6.0+2748+176088b3 | 1.58.1-1.module_el8.6.0+2748+176088b3 |
rustAzure Linux:2 |
before 1.59.0-1 | 1.59.0-1 |
rustcDebian:12 |
before 1.57.0+dfsg1-1 | 1.57.0+dfsg1-1 |
rustcDebian:13 |
before 1.57.0+dfsg1-1 | 1.57.0+dfsg1-1 |
rustcDebian:14 |
before 1.57.0+dfsg1-1 | 1.57.0+dfsg1-1 |
rustMageia:8 |
before 1.57.0-1.1.mga8 | 1.57.0-1.1.mga8 |
cargoRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
cargo-debuginfoRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
cargo-docRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
clippyRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
clippy-debuginfoRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rlsRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rls-debuginfoRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rustRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-analysisRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-debugger-commonRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-debuginfoRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-debugsourceRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-docRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-gdbRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-lldbRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-srcRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-std-staticRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-std-static-wasm32-unknown-unknownRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-std-static-wasm32-wasiRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rust-toolsetRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rustfmtRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rustfmt-debuginfoRed Hat:enterprise_linux:8::appstream |
before 0:1.58.1-1.module+el8.6.0+14021+586eff1a | 0:1.58.1-1.module+el8.6.0+14021+586eff1a |
rustRocky Linux:8 |
before 0:1.58.1-1.module+el8.6.0+826+60f85975 | 0:1.58.1-1.module+el8.6.0+826+60f85975 |
rust-toolsetRocky Linux:8 |
before 0:1.58.1-1.module+el8.6.0+826+60f85975 | 0:1.58.1-1.module+el8.6.0+826+60f85975 |
rust1.56SUSE:Linux Enterprise Module for Development Tools 15 SP3 |
before 1.56.1-150300.7.6.1 | 1.56.1-150300.7.6.1 |
rust1.55SUSE:Linux Enterprise Module for Development Tools 15 SP3 |
before 1.55.0-150300.7.6.1 | 1.55.0-150300.7.6.1 |
rust1.57SUSE:Linux Enterprise Module for Development Tools 15 SP3 |
before 1.57.0-150300.7.7.1 | 1.57.0-150300.7.7.1 |
rustSUSE:Linux Enterprise High Performance Computing 15-ESPOS |
before 1.53.0-3.40.1 | 1.53.0-3.40.1 |
rustSUSE:Linux Enterprise High Performance Computing 15-LTSS |
before 1.53.0-3.40.1 | 1.53.0-3.40.1 |
rustSUSE:Linux Enterprise Server 15-LTSS |
before 1.53.0-3.40.1 | 1.53.0-3.40.1 |
rustSUSE:Linux Enterprise Server for SAP Applications 15 |
before 1.53.0-3.40.1 | 1.53.0-3.40.1 |
rustSUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise Real Time 15 SP2 |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise Server 15 SP1-BCL |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise Server 15 SP1-LTSS |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise Server 15 SP2-BCL |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise Server 15 SP2-LTSS |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise Server for SAP Applications 15 SP1 |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise Server for SAP Applications 15 SP2 |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Manager Proxy 4.1 |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Manager Retail Branch Server 4.1 |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Manager Server 4.1 |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Enterprise Storage 6 |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Enterprise Storage 7 |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustSUSE:Linux Enterprise Module for Development Tools 15 SP3 |
before 1.59.0-150300.21.20.1 | 1.59.0-150300.21.20.1 |
rust1.58SUSE:Linux Enterprise Module for Development Tools 15 SP3 |
before 1.58.0-150300.7.3.1 | 1.58.0-150300.7.3.1 |
rust1.59SUSE:Linux Enterprise Module for Development Tools 15 SP3 |
before 1.59.0-150300.7.4.2 | 1.59.0-150300.7.4.2 |
rustcUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 1.15.1+dfsg0-1~exp1ubuntu2~14.04.71.17.0+dfsg2-8~ubuntu0.14.04.31.21.0+dfsg1+llvm-0ubuntu3~14.04.51.22.1+dfsg1+llvm-0ubuntu2~14.04.21.24.1+dfsg1+llvm-0ubuntu1~14.04.1 Show 5 moreShow less1.25.0+dfsg1+llvm-0ubuntu1~14.04.11.28.0+dfsg1+llvm-0ubuntu1~14.04.11.30.0+dfsg1+llvm-2ubuntu1~14.04.11.31.0+dfsg1+llvm-2ubuntu1~14.04.11.31.0+dfsg1+llvm-2ubuntu1~14.04.1ubuntu1 |
None known |
rustcUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.7.0+dfsg1-11.15.1+dfsg0-1~exp1ubuntu2~16.04.31.17.0+dfsg2-8~ubuntu0.16.04.21.21.0+dfsg1+llvm-0ubuntu3~16.04.11.22.1+dfsg1+llvm-0ubuntu2~16.04.2 Show 15 moreShow less1.24.1+dfsg1+llvm-0ubuntu1~16.04.11.25.0+dfsg1+llvm-0ubuntu1~16.04.11.28.0+dfsg1+llvm-0ubuntu1~16.04.11.30.0+dfsg1+llvm-2ubuntu1~16.04.11.31.0+dfsg1+llvm-2ubuntu1~16.04.11.32.0+dfsg1+llvm-1ubuntu1~16.04.11.34.1+dfsg2+llvm-0ubuntu1~16.04.11.35.0+dfsg0.1+llvm-0ubuntu1~16.04.11.36.0+dfsg1+llvm-2ubuntu1~16.04.11.37.0+dfsg1+llvm-1ubuntu1~16.04.11.39.0+dfsg1+llvm-3ubuntu1~16.04.11.41.0+dfsg1+llvm-0ubuntu1~16.04.11.43.0+dfsg1+llvm-1~exp1ubuntu2~16.04.11.47.0+dfsg1+llvm-1ubuntu1~16.04.11.47.0+dfsg1+llvm-1ubuntu1~16.04.1ubuntu2 |
None known |
rustcUbuntu:20.04:LTS |
before 1.59.0+dfsg1~ubuntu1~llvm-1~ubuntu1~20.04.2, plus listed versions 1.37.0+dfsg1+llvm-1ubuntu11.38.0+dfsg0.2+llvm-0ubuntu11.38.0+dfsg0.2+llvm-0ubuntu21.39.0+dfsg1+llvm-3ubuntu11.40.0+dfsg1+llvm-5ubuntu1 Show 7 moreShow less1.41.0+dfsg1+llvm-0ubuntu11.41.0+dfsg1+llvm-0ubuntu21.43.0+dfsg1+llvm-1~exp1ubuntu1~20.04.11.47.0+dfsg1+llvm-1ubuntu1~20.04.11.51.0+dfsg1+llvm-1~exp3ubuntu1~20.04.21.53.0+dfsg1+llvm-4ubuntu1~20.04.11.57.0+dfsg1+llvm-0ubuntu1~20.04.1 |
1.59.0+dfsg1~ubuntu1~llvm-1~ubuntu1~20.04.2 |
libredwgSUSE:Package Hub 15 SP3 |
before 0.12.5-bp153.2.3.1 | 0.12.5-bp153.2.3.1 |
libredwgopenSUSE:Leap 15.3 |
before 0.12.5-bp153.2.3.1 | 0.12.5-bp153.2.3.1 |
rust1.56openSUSE:Leap 15.3 |
before 1.56.1-150300.7.6.1 | 1.56.1-150300.7.6.1 |
rust1.55openSUSE:Leap 15.3 |
before 1.55.0-150300.7.6.1 | 1.55.0-150300.7.6.1 |
rust1.57openSUSE:Leap 15.3 |
before 1.57.0-150300.7.7.1 | 1.57.0-150300.7.7.1 |
rustopenSUSE:Leap 15.3 |
before 1.53.0-22.1 | 1.53.0-22.1 |
rustopenSUSE:Leap 15.3 |
before 1.59.0-150300.21.20.1 | 1.59.0-150300.21.20.1 |
rust1.58openSUSE:Leap 15.3 |
before 1.58.0-150300.7.3.1 | 1.58.0-150300.7.3.1 |
rust1.59openSUSE:Leap 15.3 |
before 1.59.0-150300.7.4.2 | 1.59.0-150300.7.4.2 |
rust1.56openSUSE:Tumbleweed |
before 1.56.1-4.1 | 1.56.1-4.1 |
rust1.57openSUSE:Tumbleweed |
before 1.57.0-3.1 | 1.57.0-3.1 |
rust1.58openSUSE:Tumbleweed |
before 1.58.0-2.1 | 1.58.0-2.1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | sagittarius-a/cve-2022-21658 | 2022-01-21 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-21658 is a high vulnerability (CVSS 7.3) in Apple Macos, published January 20, 2022. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 1.38%, the 72nd percentile. Fixed in cargo 1.58.1-1.module_el8.6.0+2748+176088b3.
References
github.com/rust-lang/rust/security/advisories/GHSA-r9cc-f5pr-p3j2
github.com/rust-lang/rust/pull/93110
github.com/rust-lang/rust/pull/93110/commits/32ed6e599bb4722efefd78bbc9cd7ec4613cb946
github.com/rust-lang/rust/pull/93110/commits/406cc071d6cfdfdb678bf3d83d766851de95abaf
github.com/rust-lang/rust/pull/93110/commits/4f0ad1c92ca08da6e8dc17838070975762f59714
blog.rust-lang.org/2022/01/20/cve-2022-21658.html
Show 44 moreShow less
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/BK32QZLHDC2OVLPKTUHNT2G3VHWHD4LX
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/C63NH72Q7UHJM5V3IVYRI7LVBGGFQMSQ
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CKGTACKMKAPRDPWPTU26GYWBELIRFF5N
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/7JKZDTBMGAWIFJSNWKBMPO5EAKRR4BEW
support.apple.com/kb/HT213183
support.apple.com/kb/HT213182
support.apple.com/kb/HT213186
support.apple.com/kb/HT213193
security.gentoo.org/glsa/202210-09
errata.almalinux.org/8/ALSA-2022-1894.html
vulners.com/cve/CVE-2022-21658
nvd.nist.gov/vuln/detail/CVE-2022-21658
docs.bell-sw.com/security/cves/CVE-2022-21658
github.com/CVEProject/cvelistV5/tree/main/cves/2022/21xxx/CVE-2022-21658.json
security-tracker.debian.org/tracker/CVE-2022-21658
advisories.mageia.org/MGASA-2022-0044.html
bugs.mageia.org/show_bug.cgi?id=29912
blog.rust-lang.org/2021/12/02/Rust-1.57.0.html
access.redhat.com/errata/RHSA-2022:1894
access.redhat.com/security/updates/classification
access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.6_release_notes
bugzilla.redhat.com/show_bug.cgi?id=1980080
bugzilla.redhat.com/show_bug.cgi?id=2041504
security.access.redhat.com/data/csaf/v2/advisories/2022/rhsa-2022_1894.json
access.redhat.com/security/cve/CVE-2022-21658
cve.org/CVERecord?id=CVE-2022-21658
errata.rockylinux.org/RLSA-2022:1894
suse.com/support/update/announcement/2022/suse-su-20220149-1
bugzilla.suse.com/1194767
suse.com/security/cve/CVE-2022-21658
suse.com/support/update/announcement/2022/suse-su-20220171-1
suse.com/support/update/announcement/2022/suse-su-20220175-1
suse.com/support/update/announcement/2022/suse-su-20220200-1
suse.com/support/update/announcement/2022/suse-su-20220491-1
suse.com/support/update/announcement/2022/suse-su-20220843-1
ubuntu.com/security/CVE-2022-21658
groups.google.com/g/rustlang-security-announcements/c/R1fZFDhnJVQ?pli=1
rustsec.org/advisories/CVE-2022-21658.html
github.com/rust-lang/wg-security-response/blob/master/patches/CVE-2022-21658/0002-Fix-CVE-2022-21658-for-UNIX-like.patch
lists.opensuse.org/archives/list/[email protected]/thread/JWT2GLRS2EG6EW7X57X2RMJHMFK6GEWU
lists.opensuse.org/archives/list/[email protected]/thread/CXNFO6HH5VY6DMGZN52EB2OJNJXKBC5H
lists.opensuse.org/archives/list/[email protected]/thread/7LMNDFMX4WXDPLRBNT2EQKB2QXZZVISA
lists.opensuse.org/archives/list/[email protected]/thread/EL7GUT2ZSPRSFN52THPCRG67APLUTSL7
lists.opensuse.org/archives/list/[email protected]/thread/ZODX3XK3LNWUDIGOVAOXXYOTCRZZ4CMJ
Left out here: the rest of 2 source descriptions. The JSON record has them.