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

Crate hstr

Dependencies

(8 total, 4 outdated, 1 insecure)

CrateRequiredLatestStatus
 hashbrown^0.14.30.17.1out of date
 new_debug_unreachable^1.0.41.0.6up to date
 once_cell^1.18.01.21.4up to date
 phf^0.11.20.14.0out of date
 rkyv ⚠️^0.7.420.8.18insecure
 rustc-hash^1.1.02.1.3out of date
 serde^1.0.1921.0.229up to date
 triomphe^0.1.110.1.16up to date

Dev dependencies

(10 total, 5 outdated)

CrateRequiredLatestStatus
 compact_str^0.7.10.10.0out of date
 criterion^0.5.10.8.2out of date
 dudy-malloc^0.1.00.1.2up to date
 kstring^2.0.02.0.5up to date
 num_cpus^1.16.01.17.0up to date
 rand^0.8.50.10.3out of date
 rayon^1.8.01.12.0up to date
 smartstring^1.0.11.0.1up to date
 smol_str^0.2.00.3.6out of date
 string_cache^0.8.70.11.0out of 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.