Cargo can be coerced to share credentials between registries
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Rust | Cargo | unaffected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Rust-lang | Cargo |
|
Vendor Solution
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.
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-p688-r7jv-fm6f | Cargo can be coerced to share credentials between registries |
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.478% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:rust-lang:cargo:*:*:*:*:*:rust:*:* | |
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Rust-lang
Rust-lang cargo |
|
| Vendors & Products |
Rust-lang
Rust-lang cargo |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | Cargo can be coerced to share credentials between registries | |
| Weaknesses | CWE-647 | |
| References |
| |
| Metrics |
cvssV4_0
|