Skip to content
OpenAdvisories
Medium GHSA-2226-4v3c-cff8 RUSTSEC-2022-0004

Stack overflow in rustc_serialize when parsing deeply nested JSON

Published Jun 17, 2022 · Updated Nov 8, 2023 · Assigned by GHSA

Description

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

```rust
fn main() {
let _ = rustc_serialize::json::Json::from_str(&"[0,[".repeat(10000));
}
```

[serde](https://crates.io/crates/serde) is recommended as a replacement to rustc_serialize.

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io rustc-serialize <= 0.3.24 — GHSA-2226-4v3c-cff8
crates.io rustc-serialize >= 0.0.0-0 — RUSTSEC-2022-0004

References