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

Crate hashbrown

Dependencies

(9 total, 2 outdated, 1 insecure)

CrateRequiredLatestStatus
 ahash^0.8.60.8.12up to date
 rustc-std-workspace-alloc^1.0.01.0.1up to date
 allocator-api2^0.2.90.4.0out of date
 compiler_builtins^0.1.20.1.160up to date
 rustc-std-workspace-core^1.0.01.0.1up to date
 equivalent^1.01.0.2up to date
 rayon^1.01.12.0up to date
 rkyv ⚠️^0.7.420.8.18insecure
 serde^1.0.251.0.229up to date

Dev dependencies

(8 total, 2 outdated, 1 insecure)

CrateRequiredLatestStatus
 bumpalo^3.13.03.20.3up to date
 doc-comment^0.3.10.3.4up to date
 fnv^1.0.71.0.7up to date
 lazy_static^1.41.5.0up to date
 rand^0.8.30.10.3out of date
 rayon^1.01.12.0up to date
 rkyv ⚠️^0.7.420.8.18insecure
 serde_test^1.01.0.177up to date

Security Vulnerabilities

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.