18 results · Feed
-
Medium 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 th…
-
Low 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 crat…
-
Medium 5.1
tar-rs: unpack_in can chmod arbitrary directories by following symlinks
tar-rs is a tar archive reading/writing library for Rust. In versions 0.4.44 and below, when unpacking a tar archive, the tar crate's unpack_dir function uses fs::metadata() to check whether a path that already exists is a directory. Because fs::metadata() fo…
-
Medium 6.1
Malicious dependencies can inject arbitrary JavaScript into cargo-generated timing reports
Cargo downloads a Rust project’s dependencies and compiles the project. Starting in Rust 1.60.0 and prior to 1.72, Cargo did not escape Cargo feature names when including them in the report generated by `cargo build --timings`. A malicious package included as…
-
High 7.8CVE-2023-38497 Public exploit
Cargo not respecting umask when extracting crate archives
Cargo downloads the Rust project’s dependencies and compiles the project. Cargo prior to version 0.72.2, bundled with Rust prior to version 1.71.1, did not respect the umask when extracting crate archives on UNIX-like systems. If the user downloaded a crate c…
-
High 8.1
Improper Restriction of Operations within the Bounds of a Memory Buffer and Race Condition in crossbeam-utils
crossbeam-utils provides atomics, synchronization primitives, scoped threads, and other utilities for concurrent programming in Rust. crossbeam-utils prior to version 0.8.7 incorrectly assumed that the alignment of `{i,u}64` was always the same as `Atomic{I,U…
-
High 7.3CVE-2022-21658 Public exploit
Race condition in std::fs::remove_dir_all in rustlang
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. The Rust Security Response WG was notified that the `std::fs::remove_dir_all` standard library function is vulnerable a race condi…
-
Unscored —
An issue was discovered in the Bidirectional Algorithm in the Unicode Specification through 14.0. It permits the visual…
-
Unscored —
library/std/src/net/parser.rs in Rust before 1.53.0 does not properly consider extraneous zero characters at the beginn…
-
Unscored —
In the standard library in Rust before 1.52.0, there is an optimization for joining strings that can cause uninitialize…
-
Unscored —
In the standard library in Rust before 1.52.0, a double free can occur in the Vec::from_iter function if freeing the el…
-
Unscored —
In the standard library in Rust before 1.49.0, String::retain() function has a panic safety problem. It allows creation…
-
Unscored —
In the standard library in Rust before 1.49.0, VecDeque::make_contiguous has a bug that pops the same element more than…
-
Unscored —
In the standard library in Rust before 1.51.0, the Zip implementation calls __iterator_get_unchecked() for the same ind…
-
Unscored —CVE-2021-28879 Public exploit
In the standard library in Rust before 1.52.0, the Zip implementation can report an incorrect size due to an integer ov…
-
Unscored —
In the standard library in Rust before 1.50.0, read_to_end() does not validate the return value from Read in an unsafe …
-
Unscored —
In the standard library in Rust before 1.52.0, the Zip implementation has a panic safety issue. It calls __iterator_get…
-
Unscored —
In the standard library in Rust before 1.52.0, the Zip implementation calls __iterator_get_unchecked() more than once f…