Update rkyv to 0.8.13 (Security Fix)#767
Conversation
|
This introduces a breaking change, and as such cannot be accepted into the v1 branch. rkyv 0.8 is not backwards compatible with rkyv 0.7 usage, so any usage of this crate with rkyv would break. |
|
How do you plan on resolving the security vulnerability in rkyv if you won't accept the upgrade? This is breaking a number of downstream projects |
I'm afraid our hands are tied here. I do know that a backport has already been requested of the rkyv team, so we'll have to wait for them to respond. |
|
This has now been resolved by the rkyv team. |
theres already a new rkyv 7 version, just run cargo update -p rkyv https://crates.io/crates/rkyv/0.7.46 |
Summary
This PR updates the
rkyvdependency from0.7.42to0.8.13to address a security vulnerability.Security Advisory
RUSTSEC-2026-0001: Potential Undefined Behavior in
Arc<T>/Rc<T>impls offrom_valueon OOMThe vulnerability involves improper null pointer handling in allocation routines for shared pointer types. When memory allocation fails (OOM), the implementation fails to validate whether the allocator returned a null pointer, which then gets passed to
Box::from_raw(), triggering undefined behavior. This can be exploited through safe deserialization APIs likerkyv::from_bytes.Affected versions: < 0.8.13
Patched versions: >= 0.8.13
Changes
rkyvversion from0.7.42to0.8.13size_32→pointer_width_32rkyv/validation→rkyv/bytecheckarchive(...)→rkyv(...)archive_attr(derive(...))→rkyv(derive(...))archive(check_bytes)→rkyv(bytecheck())Breaking Changes
None for consumers of this crate. The rkyv integration API remains the same.