This project contains known security vulnerabilities. Find detailed information at the bottom.

Crate chrono

Dependencies

(11 total, 3 outdated, 1 insecure, 1 possibly insecure)

CrateRequiredLatestStatus
 android-tzdata^0.1.10.1.1up to date
 arbitrary^1.0.01.4.2up to date
 iana-time-zone^0.1.450.1.65up to date
 js-sys^0.30.3.104up to date
 num-traits^0.20.2.19up to date
 pure-rust-locales^0.60.8.2out of date
 rkyv ⚠️^0.70.8.18out of date
 rustc-serialize ⚠️^0.3.200.3.25insecure
 serde^1.0.991.0.229up to date
 wasm-bindgen^0.20.2.127up to date
 windows-targets^0.480.53.5out of date

Dev dependencies

(6 total, 2 outdated)

CrateRequiredLatestStatus
 bincode^1.3.03.0.0out of date
 doc-comment^0.30.3.4up to date
 serde_derive^11.0.229up to date
 serde_json^11.0.151up to date
 wasm-bindgen-test^0.30.3.77up to date
 windows-bindgen^0.510.66.0out of date

Security Vulnerabilities

rustc-serialize: Stack overflow in rustc_serialize when parsing deeply nested JSON

RUSTSEC-2022-0004

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.

rkyv: Insufficient archive validation can cause out-of-bounds reads in archives containing Rc/Arc

RUSTSEC-2026-0235

Shared pointer validation keyed already-validated pointees by their address and type, but did not include pointer metadata. For unsized pointees, an archive could therefore contain multiple Rc, Arc, or weak pointers that shared a data address but used different metadata, such as different slice lengths.

Once the first pointer had been validated, later pointers to the same address skipped pointee validation. The safe checked rkyv::access API could consequently return a slice with a forged length, allowing safe indexing to read out of bounds. The same validation bypass was reachable through checked deserialization with rkyv::from_bytes.

Version 0.8.17 includes pointer metadata in shared pointer validation and rejects conflicting metadata. The 0.7 series is also affected but is no longer supported by upstream. Users who process untrusted archives should upgrade to 0.8.17 or later.