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.
Problem types
CWE-647 Use of Non-Canonical URL paths for authorization decisions
Product status
1.68.0 (semver) before 1.96.0
References
groups.google.com/...ng-security-announcements/c/SfUxOiIdY5s
blog.rust-lang.org/2026/05/25/cve-2026-5222/
github.com/rust-lang/cargo/pull/17031