When parsing JSON using json::Json::from_str
, there is no limit to the depth of the stack, therefore deeply nested objects can cause a stack overflow, which aborts the process.
Example code that triggers the vulnerability is
fn main() {
let _ = rustc_serialize::json::Json::from_str(&"[0,[".repeat(10000));
}
serde is recommended as a replacement to rustc_serialize.
These reviews are from cargo-vet. To add your review, set up cargo-vet
and submit your URL to its registry.
0.3.25 (current)
From kornelski/crev-proofs copy of salsa.debian.org.
Only in debcargo (unstable). Changelog:
- Team upload.
- Package rustc-serialize 0.3.25 from crates.io using debcargo 2.6.1
- New upstream fixes build with new rustc (Closes: #1074736, #1074708)
- Don't fail build due to compiler warnings
- Disable broken tests.
- Port tests to rand 0.8.
0.3.25 (current)
From kornelski/crev-proofs copy of git.savannah.gnu.org.
Packaged for Guix (crates-io)
cargo-vet does not verify reviewers' identity. You have to fully trust the source the audits are from.
- unknown
-
May have been packaged automatically without a review
This review is from Crev, a distributed system for code reviews. To add your review, set up cargo-crev
.
The current version of rustc-serialize is 0.3.25.
0.3.24 (older version) Thoroughness: None Understanding: None
by kornelski on 2020-05-12
Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories. There is absolutely no guarantee that the repository URL declared by the crate belongs to the crate, or that the code in the repository is the code inside the published tarball.
To review the actual code of the crate, it's best to use cargo crev open rustc-serialize
. Alternatively, you can download the tarball of rustc-serialize v0.3.25 or view the source online.
rustc-serialize
will no longer be maintained as declared by the developer. By fuzzing the package, we can identify multiple vulnerabilities. The project has been archived and cannot submit issues. The developer has recommended using theserde
crate instead.