CVE-2026-5223
Crates in third party registries can override the cached source of other crates
Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Passive
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.5
Crates in third party registries can override the cached source of other crates
Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
- Record
CVE-2026-5223- CVSS 4.0
- 6.5 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H - Weakness
- CWE-61
- Updated
- 2026-11-02
EUVDEUVD-2026-31658
6.5
Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
- Record
EUVD-2026-31658- CVSS 4.0
- 6.5 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-jq42-7mfv-hm57
6.5
Cargo crates in third party registries can override the cached source of other crates
The Rust Security Response Team was notified that Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry.
This vulnerability is tracked as CVE-2026-5223. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
Overview
When building a crate, Cargo extracts its source code in a local cache (stored within ~/.cargo), reusing it for any future build. Cargo includes protections to prevent any file from being extracted outside of the crate's own cache directory.
It was discovered that it's possible to craft a malicious tarball able to extract files one level below the crate's own cache directory. With the way the cache is structured, that allowed the malicious crate to override the cache of other crates belonging to the same registry.
Mitigations
Rust 1.96.0, to be released on May 28th, 2026, will update Cargo to reject extracting any symlink within crate tarballs, regardless of whether they come from crates.io (which already forbids them) or third-party registries. Note that Cargo never added symlinks when running cargo package or cargo publish, so the impact of this should be minimal.
Users who are not able to upgrade to the most recent Rust version are recommended to audit the contents of their registry for the presence of any symlink, and to configure their registry to reject symlink (if such option is available).
Affected versions
All versions of Cargo shipped before Rust 1.96.0 are affected.
Acknowledgements
Cargo would like to thank Christos Papakonstantinou for reporting this to us according to the Rust security policy.
Cargo also wants to thank the members of the Rust project who helped address the vulnerability: Josh Triplett for developing the fix; Arlo Siemsen for reviewing the fix; Emily Albini for writing this advisory; Emily Albini, Josh Stone and Manish Goregaokar for coordinating the disclosure; Ed Page and Eric Huss for advising during the disclosure.
- Record
GHSA-jq42-7mfv-hm57- CVSS 4.0
- 6.5 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H - Weakness
- CWE-61
- Updated
- 2026-11-02
NVD
6.5
Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
- Record
CVE-2026-5223- CVSS 4.0
- 6.5 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-61
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-5223
5.3
Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
- Record
ALPINE-CVE-2026-5223- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-03
OSVBELL-CVE-2026-5223
5.3
- Record
BELL-CVE-2026-5223- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
Show 6 moreShow less
OSVDEBIAN-CVE-2026-5223
5.3
Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
- Record
DEBIAN-CVE-2026-5223- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVGHSA-jq42-7mfv-hm57
6.5
Cargo crates in third party registries can override the cached source of other crates
The Rust Security Response Team was notified that Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry.
This vulnerability is tracked as CVE-2026-5223. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
Overview
When building a crate, Cargo extracts its source code in a local cache (stored within ~/.cargo), reusing it for any future build. Cargo includes protections to prevent any file from being extracted outside of the crate's own cache directory.
It was discovered that it's possible to craft a malicious tarball able to extract files one level below the crate's own cache directory. With the way the cache is structured, that allowed the malicious crate to override the cache of other crates belonging to the same registry.
Mitigations
Rust 1.96.0, to be released on May 28th, 2026, will update Cargo to reject extracting any symlink within crate tarballs, regardless of whether they come from crates.io (which already forbids them) or third-party registries. Note that Cargo never added symlinks when running cargo package or cargo publish, so the impact of this should be minimal.
Users who are not able to upgrade to the most recent Rust version are recommended to audit the contents of their registry for the presence of any symlink, and to configure their registry to reject symlink (if such option is available).
Affected versions
All versions of Cargo shipped before Rust 1.96.0 are affected.
Acknowledgements
Cargo would like to thank Christos Papakonstantinou for reporting this to us according to the Rust security policy.
Cargo also wants to thank the members of the Rust project who helped address the vulnerability: Josh Triplett for developing the fix; Arlo Siemsen for reviewing the fix; Emily Albini for writing this advisory; Emily Albini, Josh Stone and Manish Goregaokar for coordinating the disclosure; Ed Page and Eric Huss for advising during the disclosure.
- Record
GHSA-jq42-7mfv-hm57- CVSS 4.0
- 6.5 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H - Weakness
- CWE-61
- Updated
- 2026-11-02
OSVRHSA-2026:42923
5.3
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:42923- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-5223
6.5
Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
- Record
UBUNTU-CVE-2026-5223- CVSS 4.0
- 6.5 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVAZL-88272 No score
CVE-2026-5223 affecting package rust for versions less than 1.75.0-30
Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
- Record
AZL-88272- Updated
- 2026-11-05
OSVAZL-88278 No score
CVE-2026-5223 affecting package rust for versions less than 1.90.0-9
Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crate from the same registry. The severity of the vulnerability is medium for users of third-party registries. Users of crates.io are not affected, as crates.io forbids uploading crates containing any symlink.
- Record
AZL-88278- Updated
- 2026-11-05
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
cargocrates.io |
before 0.97.0 | 0.97.0 |
chromium-rustAlpine:v3.24 |
before 1.96.0-r0 | 1.96.0-r0 |
rustAlpine:v3.23 |
before 1.91.1-r2 | 1.91.1-r2 |
rustAlpine:v3.24 |
before 1.96.0-r0 | 1.96.0-r0 |
rustAzure Linux:3 |
before 1.75.0-30 | 1.75.0-30 |
rustAzure Linux:3 |
1.85.0 up to 1.90.0-9 | 1.90.0-9 |
rustAlpaquita:23 |
1.64.0-r1 up to 1.64.0-r4 | 1.64.0-r4 |
rustAlpaquita:25 |
1.87.0-r1 up to 1.87.0-r3 | 1.87.0-r3 |
rustAlpaquita:stream |
1.69.0-r10 up to 1.96.0-r0 | 1.96.0-r0 |
cargoDebian:12 |
All versions, plus listed versions 0.66.0+ds1-10.66.0+ds2-10.66.0+ds2-20.70.1+ds1-10.70.1+ds1-1~exp10.70.1+ds1-20.70.1+ds1-30.70.1-1~exp1 |
None known |
Show 72 moreShow less
| Package | Affected | Fixed |
|---|---|---|
rust-cargoDebian:12 |
All versions, plus listed versions 0.66.0-10.66.0-20.66.0-30.66.0-40.66.0-5 Show 27 moreShow less0.66.0-60.70.1-10.70.1-20.70.1-30.76.0-10.76.0-20.76.0-30.76.0-40.81.0-10.81.0-20.81.0-30.82.0-10.83.0-10.83.0-20.84.0-10.85.0-10.86.0-10.86.0-20.86.0-30.86.0-40.91.0-10.91.0-20.91.0-30.91.0-40.91.0-50.96.0-10.96.0-2 |
None known |
rust-cargoDebian:13 |
All versions, plus listed versions 0.86.0-20.86.0-30.86.0-40.91.0-10.91.0-2 Show 5 moreShow less0.91.0-30.91.0-40.91.0-50.96.0-10.96.0-2 |
None known |
rust-cargoDebian:14 |
before 0.91.0-3, plus listed versions 0.86.0-20.86.0-30.86.0-40.91.0-10.91.0-2 |
0.91.0-3 |
rustcDebian:12 |
All versions, plus listed versions 1.63.0+dfsg1-21.64.0+dfsg1-11.64.0+dfsg1-1~exp11.64.0+dfsg1-1~exp21.64.0+dfsg1-1~exp3 Show 45 moreShow less1.64.0+dfsg1-1~exp41.65.0+dfsg1-11.65.0+dfsg1-1~exp11.65.0+dfsg1-1~exp21.65.0+dfsg1-1~exp31.65.0+dfsg1-21.66.0+dfsg1-11.66.0+dfsg1-1~exp11.67.1+dfsg1-11.67.1+dfsg1-1~exp11.68.2+dfsg1-11.68.2+dfsg1-1~exp11.69.0+dfsg1-11.69.0+dfsg1-1~exp11.69.0+dfsg1-1~exp21.70.0+dfsg1-11.70.0+dfsg1-1~exp11.70.0+dfsg1-1~exp21.70.0+dfsg1-1~exp31.70.0+dfsg1-21.70.0+dfsg1-2~exp11.70.0+dfsg1-31.70.0+dfsg1-41.70.0+dfsg1-51.70.0+dfsg1-61.70.0+dfsg1-71.70.0+dfsg1-81.70.0+dfsg1-8.11.70.0+dfsg1-91.70.0+dfsg2-11.70.0+dfsg2-1+loong641.70.0+dfsg2-1~exp11.70.0+dfsg2-1~exp21.70.0+dfsg2-1~exp31.71.1+dfsg1-11.71.1+dfsg1-1~exp11.71.1+dfsg1-1~exp21.71.1+dfsg1-21.72.1+dfsg1-11.72.1+dfsg1-1+hurd.11.72.1+dfsg1-1~exp11.72.1+dfsg1-1~exp21.73.0+dfsg1-11.73.0+dfsg1-1+hurd.11.73.0+dfsg1-1+loong64 |
None known |
rustcDebian:13 |
before 1.85.1+dfsg1-1+deb13u1, plus listed versions 1.85.0+dfsg3-1 |
1.85.1+dfsg1-1+deb13u1 |
rustcDebian:14 |
before 1.95.0+dfsg1-2, plus listed versions 1.85.0+dfsg3-11.86.0+dfsg1-11.86.0+dfsg1-1~bpo13+11.86.0+dfsg1-1~bpo13+21.86.0+dfsg1-1~exp1 Show 43 moreShow less1.86.0+dfsg1-1~exp21.86.0+dfsg1-1~exp2+x321.86.0+dfsg1-1~exp31.86.0+dfsg1-1~exp41.87.0+dfsg1-11.87.0+dfsg1-1~bpo13+11.87.0+dfsg1-1~bpo13+21.87.0+dfsg1-1~exp11.88.0+dfsg1-11.88.0+dfsg1-1~exp11.88.0+dfsg1-21.88.0+dfsg1-2~bpo13+11.89.0+dfsg1-11.89.0+dfsg1-1~bpo13+11.89.0+dfsg1-1~bpo13+21.89.0+dfsg1-1~exp11.90.0+dfsg1-11.90.0+dfsg1-1~bpo13+11.90.0+dfsg1-1~bpo13+21.90.0+dfsg1-1~exp11.91.1+dfsg1-11.91.1+dfsg1-1~bpo13+11.91.1+dfsg1-1~bpo13+21.91.1+dfsg1-1~exp11.91.1+dfsg1-1~exp21.91.1+dfsg1-1~exp31.92.0+dfsg1-11.92.0+dfsg1-1~exp11.92.0+dfsg1-21.92.0+dfsg1-2~bpo13+11.93.1+dfsg1-11.93.1+dfsg1-1~exp11.93.1+dfsg1-21.93.1+dfsg1-2~bpo13+11.94.1+dfsg1-11.94.1+dfsg1-1~bpo13+11.94.1+dfsg1-1~bpo13+21.94.1+dfsg1-1~bpo13+31.94.1+dfsg1-1~exp11.94.1+dfsg1-1~exp21.94.1+dfsg1-1~exp31.95.0+dfsg1-11.95.0+dfsg1-2~bpo13+1 |
1.95.0+dfsg1-2 |
cargoRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
clippyRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rustRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-analyzerRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-debugger-commonRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-docRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-gdbRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-lldbRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-srcRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-std-staticRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-std-static-aarch64-unknown-none-softfloatRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-std-static-aarch64-unknown-uefiRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-std-static-i686-pc-windows-gnuRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-std-static-wasm32-unknown-unknownRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-std-static-wasm32-wasip1Red Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-std-static-x86_64-pc-windows-gnuRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-std-static-x86_64-unknown-noneRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rust-std-static-x86_64-unknown-uefiRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
rustfmtRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.97.1-1.1.hum1 | 0:1.97.1-1.1.hum1 |
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 |
cargoUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 0.8.0-10.16.0-0ubuntu1~16.04.10.18.0-0ubuntu0.16.04.10.22.0-0ubuntu0.16.04.10.23.0-0ubuntu0.16.04.1 Show 15 moreShow less0.25.0-1ubuntu1~16.04.10.26.0-0ubuntu2~16.04.10.29.0-1ubuntu1~16.04.10.31.0-3ubuntu1~16.04.10.32.0-1~exp1ubuntu1~16.04.10.33.0-1ubuntu1~16.04.10.35.0-0ubuntu1~16.04.10.36.0-0ubuntu1~16.04.10.37.0-3ubuntu1~16.04.10.38.0-0ubuntu1~16.04.10.40.0-3ubuntu1~16.04.10.42.0-0ubuntu1~16.04.10.44.1-0ubuntu1~16.04.10.47.0-1~exp1ubuntu1~16.04.10.47.0-1~exp1ubuntu1~16.04.1+esm1 |
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 |
cargoUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 0.19.0-0ubuntu10.22.0-0ubuntu10.22.0-0ubuntu20.23.0-0ubuntu10.24.0-1ubuntu1 Show 22 moreShow less0.25.0-1ubuntu10.26.0-0ubuntu10.26.0-0ubuntu20.29.0-1ubuntu1~18.04.10.31.0-3ubuntu1~18.04.40.32.0-1~exp1ubuntu1~18.04.10.33.0-1ubuntu1~18.04.10.35.0-0ubuntu1~18.04.10.36.0-0ubuntu1~18.04.10.37.0-3ubuntu1~18.04.10.38.0-0ubuntu1~18.04.10.40.0-3ubuntu1~18.04.10.42.0-0ubuntu1~18.04.10.44.1-0ubuntu1~18.04.10.47.0-1~exp1ubuntu1~18.04.10.52.0-0ubuntu1~18.04.10.54.0-0ubuntu1~18.04.10.58.0-0ubuntu1~18.04.10.60.0ubuntu1-0ubuntu1~18.04.10.62.0ubuntu0libgit2-0ubuntu0.18.04.10.66.0+ds0ubuntu0.libgit2-0ubuntu0.18.040.66.0+ds0ubuntu0.libgit2-0ubuntu0.18.04.1~esm1 |
None known |
rustcUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.18.0+dfsg1-4ubuntu11.24.1+dfsg1+llvm-0ubuntu11.24.1+dfsg1+llvm-0ubuntu21.25.0+dfsg1+llvm-0ubuntu11.28.0+dfsg1+llvm-0ubuntu1~18.04.1 Show 18 moreShow less1.30.0+dfsg1+llvm-2ubuntu1~18.04.11.31.0+dfsg1+llvm-2ubuntu1~18.04.11.32.0+dfsg1+llvm-1ubuntu1~18.04.11.34.1+dfsg2+llvm-0ubuntu1~18.04.11.35.0+dfsg0.1+llvm-0ubuntu1~18.04.11.36.0+dfsg1+llvm-2ubuntu1~18.04.11.37.0+dfsg1+llvm-1ubuntu1~18.04.11.39.0+dfsg1+llvm-3ubuntu1~18.04.11.41.0+dfsg1+llvm-0ubuntu1~18.04.11.43.0+dfsg1+llvm-1~exp1ubuntu2~18.04.11.47.0+dfsg1+llvm-1ubuntu1~18.04.11.51.0+dfsg1+llvm-1~exp3ubuntu1~18.04.11.53.0+dfsg1+llvm-4ubuntu1~18.04.11.57.0+dfsg1+llvm-0ubuntu1~18.04.11.59.0+dfsg1~ubuntu1~llvm-1~ubuntu1~18.04.21.61.0+dfsg1~llvm-1~exp1ubuntu0.18.04.11.65.0+dfsg0ubuntu1~llvm2-0ubuntu0.18.041.65.0+dfsg0ubuntu1~llvm2-0ubuntu0.18.04.1 |
None known |
cargoUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 0.37.0-3ubuntu20.38.0-0ubuntu10.39.0-0ubuntu10.39.0+really0.38.0-0ubuntu10.39.0+really0.39.0-0ubuntu1 Show 14 moreShow less0.40.0-3ubuntu10.40.0-3ubuntu20.41.0-0ubuntu10.42.0-0ubuntu10.44.1-0ubuntu1~20.04.10.47.0-1~exp1ubuntu1~20.04.10.52.0-0ubuntu1~20.04.10.54.0-0ubuntu1~20.04.10.58.0-0ubuntu1~20.04.10.60.0ubuntu1-0ubuntu1~20.04.10.62.0ubuntu0libgit2-0ubuntu0.20.04.10.66.0+ds0ubuntu0.libgit2-0ubuntu0.20.040.67.1+ds0ubuntu0.libgit2-0ubuntu0.20.04.20.67.1+ds0ubuntu0.libgit2-0ubuntu0.20.04.2+esm1 |
None known |
rustcUbuntu:Pro:20.04:LTS |
All versions, 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 19 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.11.59.0+dfsg1~ubuntu1~llvm-1~ubuntu1~20.04.21.61.0+dfsg1~llvm-1~exp1ubuntu0.20.04.11.65.0+dfsg0ubuntu1~llvm2-0ubuntu0.20.041.66.1+dfsg0ubuntu1~llvm-0ubuntu0.20.041.70.0+dfsg0ubuntu1~bpo2-0ubuntu0.20.041.70.0+dfsg0ubuntu1~bpo2-0ubuntu0.20.04.11.71.1+dfsg0ubuntu3~bpo0-0ubuntu0.20.041.72.1+dfsg0ubuntu1~bpo0-0ubuntu0.20.041.73.0+dfsg0ubuntu1~bpo0-0ubuntu0.20.04.11.74.1+dfsg0ubuntu1~bpo0-0ubuntu0.20.04.11.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.20.041.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.20.04.1 |
None known |
rustc-1.76Ubuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.76.0+dfsg0ubuntu1~bpo0-0ubuntu0.20.041.76.0+dfsg0ubuntu1~bpo0-0ubuntu0.20.04.1 |
None known |
rustc-1.77Ubuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.77.2+dfsg1ubuntu1~bpo0-0ubuntu0.20.041.77.2+dfsg1ubuntu1~bpo0-0ubuntu0.20.04.1 |
None known |
rustc-1.78Ubuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.78.0+dfsg1ubuntu1~bpo0-0ubuntu0.20.041.78.0+dfsg1ubuntu1~bpo0-0ubuntu0.20.04.1 |
None known |
rustc-1.79Ubuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.79.0+dfsg1ubuntu1~bpo0-0ubuntu0.20.04.11.79.0+dfsg1ubuntu1~bpo0-0ubuntu0.20.04.3 |
None known |
rustc-1.80Ubuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.80.1+dfsg0ubuntu1~bpo0-0ubuntu0.20.041.80.1+dfsg0ubuntu1~bpo0-0ubuntu0.20.04.1 |
None known |
rustcUbuntu:22.04:LTS |
All versions, plus listed versions 1.51.0+dfsg1+llvm-1~exp3ubuntu11.53.0+dfsg1+llvm-4ubuntu11.54.0+dfsg2+llvm-3ubuntu11.56.0+dfsg1+llvm-2ubuntu11.56.0+dfsg1+llvm-2ubuntu2 Show 16 moreShow less1.57.0+dfsg1+llvm-0ubuntu11.57.0+dfsg1+llvm-0ubuntu21.58.1+dfsg1~ubuntu1-0ubuntu11.58.1+dfsg1~ubuntu1-0ubuntu21.59.0+dfsg1-1~ubuntu2~22.04.11.61.0+dfsg1-1~exp1ubuntu0.22.04.11.65.0+dfsg0ubuntu1-0ubuntu0.22.04.11.66.1+dfsg0ubuntu1-0ubuntu0.22.04.11.70.0+dfsg0ubuntu1~bpo2-0ubuntu0.22.04.11.70.0+dfsg0ubuntu1~bpo2-0ubuntu0.22.04.21.71.1+dfsg0ubuntu3~bpo0-0ubuntu0.22.041.72.1+dfsg0ubuntu1~bpo0-0ubuntu0.22.041.73.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.041.74.1+dfsg0ubuntu1~bpo0-0ubuntu0.22.041.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.041.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04.1 |
None known |
rustc-1.62Ubuntu:22.04:LTS |
All versions, plus listed versions 1.62.1+dfsg1-1ubuntu0.22.04.11.62.1+dfsg1-1ubuntu0.22.04.3 |
None known |
rustc-1.76Ubuntu:22.04:LTS |
All versions, plus listed versions 1.76.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.041.76.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04.1 |
None known |
rustc-1.77Ubuntu:22.04:LTS |
All versions, plus listed versions 1.77.2+dfsg1ubuntu1~bpo0-0ubuntu0.22.041.77.2+dfsg1ubuntu1~bpo0-0ubuntu0.22.04.1 |
None known |
rustc-1.78Ubuntu:22.04:LTS |
All versions, plus listed versions 1.78.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.041.78.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04.1 |
None known |
rustc-1.79Ubuntu:22.04:LTS |
All versions, plus listed versions 1.79.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.041.79.0+dfsg1ubuntu1~bpo0-0ubuntu0.22.04.1 |
None known |
rustc-1.80Ubuntu:22.04:LTS |
All versions, plus listed versions 1.80.1+dfsg0ubuntu1~bpo0-0ubuntu0.22.041.80.1+dfsg0ubuntu1~bpo0-0ubuntu0.22.04.1 |
None known |
rustc-1.81Ubuntu:22.04:LTS |
All versions, plus listed versions 1.81.0+dfsg0ubuntu0-0ubuntu0.22.041.81.0+dfsg0ubuntu0-0ubuntu0.22.04.1 |
None known |
rustc-1.82Ubuntu:22.04:LTS |
All versions, plus listed versions 1.82.0+dfsg0ubuntu0~jammy-0ubuntu0.22.041.82.0+dfsg0ubuntu0~jammy-0ubuntu0.22.04.1 |
None known |
rustc-1.83Ubuntu:22.04:LTS |
All versions, plus listed versions 1.83.0+dfsg0ubuntu2~bpo2-0ubuntu2.22.04~ppa31.83.0+dfsg0ubuntu2~bpo2-0ubuntu2.22.04.1 |
None known |
rustc-1.84Ubuntu:22.04:LTS |
All versions, plus listed versions 1.84.1+dfsg0ubuntu1~bpo10-0ubuntu4.22.041.84.1+dfsg0ubuntu1~bpo10-0ubuntu4.22.04.1 |
None known |
rustc-1.85Ubuntu:22.04:LTS |
All versions, plus listed versions 1.85.1+dfsg0ubuntu2~bpo0-0ubuntu0.22.031.85.1+dfsg0ubuntu2~bpo0-0ubuntu1.22.041.85.1+dfsg0ubuntu2~bpo0-0ubuntu1.22.04.1 |
None known |
rustc-1.89Ubuntu:22.04:LTS |
All versions, plus listed versions 1.89.0+dfsg~24.04-0ubuntu0.22.04.11.89.0+dfsg~24.04-0ubuntu0.22.04.2 |
None known |
rustc-1.91Ubuntu:22.04:LTS |
All versions, plus listed versions 1.91.1+dfsg~22.04-0ubuntu0.22.04.21.91.1+dfsg~22.04-0ubuntu0.22.04.3 |
None known |
cargoUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 0.52.0-0ubuntu10.53.0-0ubuntu20.54.0-0ubuntu10.54.0-0ubuntu20.57.0+ubuntu-0ubuntu1 Show 6 moreShow less0.58.0-0ubuntu10.60.0ubuntu1-0ubuntu1~22.04.10.62.0ubuntu0libgit2-0ubuntu0.22.04.10.66.0+ds0ubuntu0.libgit2-0ubuntu0.22.040.67.1+ds0ubuntu0.libgit2-0ubuntu0.22.04.20.67.1+ds0ubuntu0.libgit2-0ubuntu0.22.04.2+esm1 |
None known |
rustcUbuntu:24.04:LTS |
All versions, plus listed versions 1.71.1+dfsg0ubuntu2-0ubuntu11.73.0+dfsg0ubuntu1-0ubuntu11.74.1+dfsg0ubuntu1-0ubuntu11.75.0+dfsg0ubuntu1-0ubuntu11.75.0+dfsg0ubuntu1-0ubuntu61.75.0+dfsg0ubuntu1-0ubuntu71.75.0+dfsg0ubuntu1-0ubuntu7.11.75.0+dfsg0ubuntu1-0ubuntu7.4 |
None known |
rustc-1.74Ubuntu:24.04:LTS |
All versions, plus listed versions 1.74.1+dfsg0ubuntu1-0ubuntu21.74.1+dfsg0ubuntu1-0ubuntu131.74.1+dfsg0ubuntu1-0ubuntu15 |
None known |
rustc-1.76Ubuntu:24.04:LTS |
All versions, plus listed versions 1.76.0+dfsg0ubuntu1-0ubuntu0.24.041.76.0+dfsg0ubuntu1-0ubuntu0.24.04.2 |
None known |
rustc-1.77Ubuntu:24.04:LTS |
All versions, plus listed versions 1.77.2+dfsg1ubuntu1-0ubuntu0.24.041.77.2+dfsg1ubuntu1-0ubuntu0.24.04.1 |
None known |
rustc-1.78Ubuntu:24.04:LTS |
All versions, plus listed versions 1.78.0+dfsg1ubuntu1-0ubuntu0.24.041.78.0+dfsg1ubuntu1-0ubuntu0.24.04.2 |
None known |
rustc-1.79Ubuntu:24.04:LTS |
All versions, plus listed versions 1.79.0+dfsg1ubuntu1-0ubuntu0.24.041.79.0+dfsg1ubuntu1-0ubuntu0.24.04.1 |
None known |
rustc-1.80Ubuntu:24.04:LTS |
All versions, plus listed versions 1.80.1+dfsg0ubuntu1-0ubuntu0.24.041.80.1+dfsg0ubuntu1-0ubuntu0.24.04.01 |
None known |
rustc-1.81Ubuntu:24.04:LTS |
All versions, plus listed versions 1.81.0+dfsg0ubuntu1-0ubuntu0.24.041.81.0+dfsg0ubuntu1-0ubuntu0.24.04.1 |
None known |
rustc-1.82Ubuntu:24.04:LTS |
All versions, plus listed versions 1.82.0+dfsg0ubuntu0-0ubuntu0.24.041.82.0+dfsg0ubuntu0-0ubuntu0.24.04.1 |
None known |
rustc-1.83Ubuntu:24.04:LTS |
All versions, plus listed versions 1.83.0+dfsg0ubuntu1~bpo2-0ubuntu0.24.041.83.0+dfsg0ubuntu1~bpo2-0ubuntu0.24.04.1 |
None known |
rustc-1.84Ubuntu:24.04:LTS |
All versions, plus listed versions 1.84.1+dfsg0ubuntu1~bpo2-0ubuntu2.24.041.84.1+dfsg0ubuntu1~bpo2-0ubuntu2.24.04.1 |
None known |
rustc-1.85Ubuntu:24.04:LTS |
All versions, plus listed versions 1.85.1+dfsg0ubuntu2~bpo0-0ubuntu0.24.041.85.1+dfsg0ubuntu2~bpo0-0ubuntu0.24.04.2 |
None known |
rustc-1.89Ubuntu:24.04:LTS |
All versions, plus listed versions 1.89.0+dfsg~24.04-0ubuntu0.24.04.11.89.0+dfsg~24.04-0ubuntu0.24.04.2 |
None known |
rustc-1.91Ubuntu:24.04:LTS |
All versions, plus listed versions 1.91.1+dfsg~24.04-0ubuntu0.24.04.11.91.1+dfsg~24.04-0ubuntu0.24.04.21.91.1+dfsg~24.04-0ubuntu0.24.04.3 |
None known |
rustc-1.85Ubuntu:25.10 |
All versions, plus listed versions 1.85.1+dfsg0ubuntu1-0ubuntu11.85.1+dfsg0ubuntu2-0ubuntu11.85.1+dfsg0ubuntu2-0ubuntu1.25.04.1 |
None known |
rustc-1.88Ubuntu:25.10 |
All versions, plus listed versions 1.88.0+dfsg0ubuntu1-0ubuntu11.88.0+dfsg0ubuntu1-0ubuntu2 |
None known |
rustc-1.91Ubuntu:25.10 |
All versions, plus listed versions 1.91.1+dfsg-0ubuntu3~25.10.1 |
None known |
rustc-1.91Ubuntu:26.04:LTS |
All versions, plus listed versions 1.91.1+dfsg-0ubuntu11.91.1+dfsg-0ubuntu21.91.1+dfsg-0ubuntu3 |
None known |
rustc-1.92Ubuntu:26.04:LTS |
All versions, plus listed versions 1.92.0+dfsg-0ubuntu11.92.0+dfsg-0ubuntu2 |
None known |
rustc-1.93Ubuntu:26.04:LTS |
All versions, plus listed versions 1.93.1+dfsg-0ubuntu41.93.1+dfsg-0ubuntu51.93.1+dfsg-0ubuntu6 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| affected | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-5223 is a medium vulnerability (CVSS 6.5) in Rust Project Cargo, published May 25, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.29%, the 22nd percentile. Fixed in cargo 0.97.0.
References
groups.google.com/g/rustlang-security-announcements/c/IB74S7Yksg8
blog.rust-lang.org/2026/05/25/cve-2026-5223
github.com/rust-lang/cargo/pull/17031
github.com/rust-lang/cargo/security/advisories/GHSA-jq42-7mfv-hm57
nvd.nist.gov/vuln/detail/CVE-2026-5223
github.com/advisories/GHSA-jq42-7mfv-hm57
Show 19 moreShow less
security.alpinelinux.org/vuln/CVE-2026-5223
docs.bell-sw.com/security/cves/CVE-2026-5223
security-tracker.debian.org/tracker/CVE-2026-5223
github.com/rust-lang/cargo
access.redhat.com/errata/RHSA-2026:42923
images.redhat.com
access.redhat.com/security/cve/CVE-2026-50185
access.redhat.com/security/updates/classification
access.redhat.com/security/cve/CVE-2026-5223
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_42923.json
bugzilla.redhat.com/show_bug.cgi?id=2481158
cve.org/CVERecord?id=CVE-2026-5223
bugzilla.redhat.com/show_bug.cgi?id=2501836
cve.org/CVERecord?id=CVE-2026-50185
nvd.nist.gov/vuln/detail/CVE-2026-50185
github.com/RustCrypto/utils/commit/dba6c355c9f241e3726d5ec2a68f9f3b519f6063
github.com/RustCrypto/utils/releases/tag/cmov-v0.5.4
github.com/RustCrypto/utils/security/advisories/GHSA-3rjw-m598-pq24
ubuntu.com/security/CVE-2026-5223
Left out here: 96 versions. The JSON record has them.