Add advisory for rustc_serialize (#1140)

This commit is contained in:
5225225
2022-01-21 18:13:12 +00:00
committed by GitHub
parent 258329bae6
commit 3e6d7719d5

View File

@@ -0,0 +1,28 @@
```toml
[advisory]
id = "RUSTSEC-0000-0000"
package = "rustc-serialize"
date = "2022-01-01"
categories = ["denial-of-service"]
keywords = ["stack overflow"]
[versions]
patched = []
[affected]
functions = { "rustc_serialize::json::Json::from_str" = ["*"] }
```
# Stack overflow in rustc_serialize when parsing deeply nested JSON
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.