GitHub Advisoryadvisory · crates.io
GHSA-2226-4v3c-cff8 Stack overflow in rustc_serialize when parsing deeply nested JSON
MEDIUM
Official page ↗
- Ecosystem
- crates.io
- Packages
- rustc-serialize
- Severity
- Moderate
- Reviewed
- 2022-06-17
Affected packages
• crates.io rustc-serialize: <= 0.3.24 (no fix yet)
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 is recommended as a replacement to rustc_serialize.