GitHub Advisoryadvisory · crates.io

GHSA-2226-4v3c-cff8 Stack overflow in rustc_serialize when parsing deeply nested JSON

MEDIUM Published 2022-06-17 Modified 2022-06-17 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.

References