Every CVE Search/ Get API key

CVE-2026-5222

Cargo can be coerced to share credentials between registries

2.3 LowFix available

Cargo between 1.68 and 1.96 incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

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
Low
Integrity
None
Availability
None

Exploit likelihood

0.48%Up 0.4 points since May 25, 2026
90%50%10%1%

What each source reports

CVE List Score used 2.3

Cargo can be coerced to share credentials between registries

Cargo between 1.68 and 1.96 incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Record
CVE-2026-5222
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
Weakness
CWE-647
Updated
2026-11-02
EUVDEUVD-2026-31654 2.3

Cargo between 1.68 and 1.96 incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Record
EUVD-2026-31654
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-p688-r7jv-fm6f 2.3

Cargo can be coerced to share credentials between registries

The Rust Security Response Team was notified that Cargo incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry.

This vulnerability is tracked as CVE-2026-5222. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Overview

Originally Cargo only supported storing a registry's index within git repositories. Most git hosting solutions allow accessing a git repository with or without the .git suffix, so Cargo mirrored this behavior when normalizing registry URLs. This allowed credentials for https://example.com/index to be used for https://example.com/index.git.

This normalization was unintentionally applied to the new sparse indexes too. Sparse indexes can be hosted on any HTTPS server, which treat URLs ending with .git as different URLs than those without the suffix.

If the following conditions apply:

  • https://example.com/index is a sparse index.
  • https://example.com/index allows crates to depend on crates from any other registry.
  • The attacker is able to publish crates on https://example.com/index.
  • The attacker is able to upload arbitrary files to https://example.com/index.git.

...the attacker could configure https://example.com/index.git to be a Cargo sparse registry requiring authentication for downloads, and with a download URL pointing to a server recording any credentials set to it.

When the attacker then publishes a crate foo to https://example.com/index depending on a crate bar from https://example.com/index.git, and tricks the victim into downloading foo, Cargo will think the two registries share the same credential and send the victim's Cargo token to the malicious registry.

Mitigations

Rust 1.96, to be released on May 28th, 2026, will update Cargo to only strip the .git suffix from registry URLs using the git protocol. No mitigations are available for users of older versions of Cargo.

Affected versions

All versions of Cargo shipped between Rust 1.68 (the stabilization of sparse registries) and 1.96 are affected.

Acknowledgements

Cargo would like to thank Christos Papakonstantinou for reporting this issue according to the Rust security policy.

Cargo also wants to thank the members of the Rust project who helped address the vulnerability: Arlo Siemens for developing the fix; Weihang Lo, Eric Huss and Emily Albini for reviewing the fix; Emily Albini for writing this advisory; Emily Albini, Josh Stone and Manish Goregaokar for coordinating the disclosure.

Record
GHSA-p688-r7jv-fm6f
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
Weakness
CWE-647
Updated
2026-11-02
NVD 2.3

Cargo between 1.68 and 1.96 incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Record
CVE-2026-5222
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N/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
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-647
Updated
2026-11-02
OSVALPINE-CVE-2026-5222 6.5

Cargo between 1.68 and 1.96 incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Record
ALPINE-CVE-2026-5222
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-03
OSVBELL-CVE-2026-5222 6.5
Record
BELL-CVE-2026-5222
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
Show 5 moreShow less
OSVDEBIAN-CVE-2026-5222 6.5

Cargo between 1.68 and 1.96 incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Record
DEBIAN-CVE-2026-5222
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVGHSA-p688-r7jv-fm6f 2.3

Cargo can be coerced to share credentials between registries

The Rust Security Response Team was notified that Cargo incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry.

This vulnerability is tracked as CVE-2026-5222. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Overview

Originally Cargo only supported storing a registry's index within git repositories. Most git hosting solutions allow accessing a git repository with or without the .git suffix, so Cargo mirrored this behavior when normalizing registry URLs. This allowed credentials for https://example.com/index to be used for https://example.com/index.git.

This normalization was unintentionally applied to the new sparse indexes too. Sparse indexes can be hosted on any HTTPS server, which treat URLs ending with .git as different URLs than those without the suffix.

If the following conditions apply:

  • https://example.com/index is a sparse index.
  • https://example.com/index allows crates to depend on crates from any other registry.
  • The attacker is able to publish crates on https://example.com/index.
  • The attacker is able to upload arbitrary files to https://example.com/index.git.

...the attacker could configure https://example.com/index.git to be a Cargo sparse registry requiring authentication for downloads, and with a download URL pointing to a server recording any credentials set to it.

When the attacker then publishes a crate foo to https://example.com/index depending on a crate bar from https://example.com/index.git, and tricks the victim into downloading foo, Cargo will think the two registries share the same credential and send the victim's Cargo token to the malicious registry.

Mitigations

Rust 1.96, to be released on May 28th, 2026, will update Cargo to only strip the .git suffix from registry URLs using the git protocol. No mitigations are available for users of older versions of Cargo.

Affected versions

All versions of Cargo shipped between Rust 1.68 (the stabilization of sparse registries) and 1.96 are affected.

Acknowledgements

Cargo would like to thank Christos Papakonstantinou for reporting this issue according to the Rust security policy.

Cargo also wants to thank the members of the Rust project who helped address the vulnerability: Arlo Siemens for developing the fix; Weihang Lo, Eric Huss and Emily Albini for reviewing the fix; Emily Albini for writing this advisory; Emily Albini, Josh Stone and Manish Goregaokar for coordinating the disclosure.

Record
GHSA-p688-r7jv-fm6f
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
Weakness
CWE-647
Updated
2026-11-02
OSVUBUNTU-CVE-2026-5222 2.3

Cargo between 1.68 and 1.96 incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Record
UBUNTU-CVE-2026-5222
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVAZL-88275 No score

CVE-2026-5222 affecting package rust for versions less than 1.75.0-30

Cargo between 1.68 and 1.96 incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Record
AZL-88275
Updated
2026-11-05
OSVAZL-88281 No score

CVE-2026-5222 affecting package rust for versions less than 1.90.0-9

Cargo between 1.68 and 1.96 incorrectly normalized the URLs of third-party registries using the sparse index protocol. If a hosting provider allowed multiple registries to be hosted with arbitrary names within the same domain, an attacker able to publish crates in a registry could obtain the credentials of others users of the same registry. The severity of the vulnerability is low, due to the extremely niche requirements needed to achieve the attack.

Record
AZL-88281
Updated
2026-11-05

Affected products

Affected packages

Affected packages
PackageAffectedFixed
cargo
crates.io
before 0.97.0
0.97.0
chromium-rust
Alpine:v3.24
before 1.96.0-r0
1.96.0-r0
rust
Alpine:v3.23
before 1.91.1-r2
1.91.1-r2
rust
Alpine:v3.24
before 1.96.0-r0
1.96.0-r0
rust
Azure Linux:3
before 1.75.0-30
1.75.0-30
rust
Azure Linux:3
1.85.0 up to 1.90.0-9
1.90.0-9
rust
Alpaquita:23
1.64.0-r1 up to 1.64.0-r4
1.64.0-r4
rust
Alpaquita:25
1.87.0-r1 up to 1.87.0-r3
1.87.0-r3
rust
Alpaquita:stream
1.69.0-r10 up to 1.96.0-r0
1.96.0-r0
cargo
Debian: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 53 moreShow less
Affected packages
PackageAffectedFixed
rust-cargo
Debian: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 less
0.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-cargo
Debian: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 less
0.91.0-30.91.0-40.91.0-50.96.0-10.96.0-2
None known
rust-cargo
Debian: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
rustc
Debian: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 less
1.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
rustc
Debian:13
before 1.85.1+dfsg1-1+deb13u1, plus listed versions
1.85.0+dfsg3-1
1.85.1+dfsg1-1+deb13u1
rustc
Debian: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 less
1.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
rustc
Ubuntu: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 less
1.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
cargo
Ubuntu: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 less
0.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
rustc
Ubuntu: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 less
1.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
cargo
Ubuntu: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 less
0.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
rustc
Ubuntu: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 less
1.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
cargo
Ubuntu: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 less
0.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
rustc
Ubuntu: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 less
1.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.76
Ubuntu: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.77
Ubuntu: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.78
Ubuntu: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.79
Ubuntu: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.80
Ubuntu: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
rustc
Ubuntu: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 less
1.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.62
Ubuntu: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.76
Ubuntu: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.77
Ubuntu: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.78
Ubuntu: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.79
Ubuntu: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.80
Ubuntu: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.81
Ubuntu: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.82
Ubuntu: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.83
Ubuntu: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.84
Ubuntu: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.85
Ubuntu: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.89
Ubuntu: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.91
Ubuntu: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
cargo
Ubuntu: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 less
0.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
rustc
Ubuntu: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.74
Ubuntu: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.76
Ubuntu: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.77
Ubuntu: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.78
Ubuntu: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.79
Ubuntu: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.80
Ubuntu: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.81
Ubuntu: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.82
Ubuntu: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.83
Ubuntu: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.84
Ubuntu: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.85
Ubuntu: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.89
Ubuntu: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.91
Ubuntu: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.85
Ubuntu: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.88
Ubuntu:25.10
All versions, plus listed versions
1.88.0+dfsg0ubuntu1-0ubuntu11.88.0+dfsg0ubuntu1-0ubuntu2
None known
rustc-1.91
Ubuntu:25.10
All versions, plus listed versions
1.91.1+dfsg-0ubuntu3~25.10.1
None known
rustc-1.91
Ubuntu: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.92
Ubuntu:26.04:LTS
All versions, plus listed versions
1.92.0+dfsg-0ubuntu11.92.0+dfsg-0ubuntu2
None known
rustc-1.93
Ubuntu:26.04:LTS
All versions, plus listed versions
1.93.1+dfsg-0ubuntu41.93.1+dfsg-0ubuntu51.93.1+dfsg-0ubuntu6
None known

History

History
RecordedChangedSources
factsOSV
affectedOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

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

In short

CVE-2026-5222 is a low vulnerability (CVSS 2.3) in Rust Cargo, published May 25, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.48%, the 41st percentile. Fixed in cargo 0.97.0.

References

Show 6 moreShow less
This page doesn't list everything

Left out here: 96 versions. The JSON record has them.

MoveEnter Open