
Cloud Vulnerability DB
A community-led vulnerabilities database
SplitVec::extend_from_slice increments the logical length self.len before cloning the incoming elements into the reserved slots. If an element's Clone panics mid-fill, unwinding leaves self.len counting slots that were never initialized. A later safe read (get, indexing, iter) then reads one of those uninitialized slots.
This is reachable from safe Rust — a read of uninitialized memory (CWE-908). It is not a double-free: SplitVec has no manual Drop and its elements live in a standard Vec, so the defect is a read, not a free.
A safe read after the panic returns a value built from uninitialized bytes. For a heap-owning element type such as String, the resulting value has garbage length/pointer fields.
Confirmed under Miri. AddressSanitizer stays silent for this class, since the uninitialized bytes are consumed as a non-dereferenced field rather than an invalid load or free.
Fixed in orx-split-vec 4.0.0, which no longer commits the length before the elements are cloned.
Source: NVD
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."