Stack overflow in rustc_serialize when parsing deeply nested JSON
| Details |
|
| Package |
rustc-serialize |
| Version |
0.3.24 |
| Date |
2022-01-01 |
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.
See advisory page for additional details.