CVE-2019-16760: Cargo prior to Rust 1.26.0 may download the wrong dependency
Cargo prior to Rust 1.26.0 may download the wrong dependency if your package.toml file uses the package configuration key. Usage of the package key to rename dependencies in Cargo.toml is ignored in Rust 1.25.0 and prior. When Rust 1.25.0 and prior is used Cargo may download the wrong dependency, which could be squatted on crates.io to be a malicious package. This not only affects manifests that you write locally yourself, but also manifests published to crates.io. Rust 1.0.0 through Rust 1.25.0 is affected by this advisory because Cargo will ignore the package key in manifests. Rust 1.26.0 through Rust 1.30.0 are not affected and typically will emit an error because the package key is unstable. Rust 1.31.0 and after are not affected because Cargo understands the package key. Users of the affected versions are strongly encouraged to update their compiler to the latest available one. Preventing this issue from happening requires updating your compiler to be either Rust 1.26.0 or newer. There will be no point release for Rust versions prior to 1.26.0. Users of Rust 1.19.0 to Rust 1.25.0 can instead apply linked patches to mitigate the issue.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is CVE-2019-16760?
CVE-2019-16760 is a vulnerability in Cargo, the package manager for Rust, prior to version 1.26.0. It allows the download of the wrong dependency if the package.toml file uses the 'package' configuration key.
How does CVE-2019-16760 affect Rust?
CVE-2019-16760 affects Cargo, the package manager for Rust, prior to version 1.26.0.
What is the severity of CVE-2019-16760?
CVE-2019-16760 has a severity rating of high with a score of 7.5.
How can I fix CVE-2019-16760?
To fix CVE-2019-16760, upgrade Cargo to version 1.26.0 or later.
Are there any references for CVE-2019-16760?
Yes, you can find references for CVE-2019-16760 at the following links: [Link 1](http://www.openwall.com/lists/oss-security/2019/10/08/3), [Link 2](https://gist.github.com/pietroalbini/0d293b24a44babbeb6187e06eebd4992), [Link 3](https://github.com/rust-lang/rust/security/advisories/GHSA-phjm-8x66-qw4r).