
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-68510 is an unsoundness vulnerability in the bit-vec Rust library (maintained by contain-rs) that causes undefined behavior when deserializing from an untrusted source followed by use of the unsafe get_unchecked operation. It affects all versions of bit-vec up to and including 0.9.1, and was patched in version 0.10.0. The vulnerability was published on November 13, 2026, with the underlying fix merged on July 4, 2026. It carries a CVSS v4.0 base score of 6.9 (Medium) (GitHub Advisory, Feedly).
The root cause is improper input validation (CWE-20) during deserialization: the BitVec struct's derived deserialization traits allow construction of an internally invalid BitVec instance where the nbits field does not correspond to the actual length of the backing storage buffer. When a subsequent unsafe get_unchecked call is made on such a malformed BitVec, it violates the precondition that the index must be within the slice bounds, triggering undefined behavior. A fuzzer-confirmed proof of concept demonstrated the issue with a crafted JSON payload such as {"storage":[], "nbits":320000000}, which caused a panic with the message unsafe precondition(s) violated: slice::get_unchecked requires that the index is within the slice. The fix (PR #149) adds validation during deserialization to ensure the storage length exactly matches nbits (GitHub Advisory, GitHub PR #149).
Exploitation of this vulnerability can lead to undefined behavior in Rust programs that use bit-vec, potentially resulting in incorrect computation, memory safety violations, or application crashes (availability impact). The vulnerability is only triggered when both conditions are met: deserializing a BitVec from an untrusted source and subsequently calling the unsafe get_unchecked method on the result. While confidentiality and integrity impacts are rated as none in the CVSS scoring, undefined behavior in Rust's unsafe context could theoretically be leveraged for memory corruption depending on the application context (GitHub Advisory, Feedly).
There are no known in-the-wild exploits or public proof-of-concept exploit code targeting this vulnerability beyond the fuzzer-generated test case documented in the fix PR. The EPSS score is 0.0, indicating a very low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires an attacker to control the deserialized input and the target application to use the unsafe get_unchecked API, limiting the practical attack surface (GitHub Advisory, Feedly).
bit-vec Rust crate (versions ≤ 0.9.1) and accepts externally-supplied serialized BitVec data (e.g., via JSON, Bincode, or Borsh deserialization).BitVec where the nbits field is set to a large value (e.g., 320,000,000) while the storage array is empty or undersized, such as {"storage":[], "nbits":320000000}.BitVec deserialization (e.g., network request, file input, IPC).get_unchecked on the deserialized BitVec, which will access memory out of bounds due to the mismatch between nbits and actual storage length, triggering undefined behavior.unsafe precondition(s) violated: slice::get_unchecked requires that the index is within the slice in Rust application logs.bit-vec, particularly after processing externally-supplied serialized data.bit-vec versions ≤ 0.9.1 in Cargo.lock files within deployed Rust applications (bit-vec = "0.9.x" or earlier)."nbits" set to an abnormally large integer and an empty or minimal "storage" array) submitted to application endpoints that process BitVec data (GitHub PR #149).Upgrade the bit-vec crate to version 0.10.0 or later, which validates that the storage length exactly matches nbits during deserialization. As a workaround without upgrading, developers should switch from get_unchecked to safe indexing methods, or validate deserialized BitVec input before performing any unsafe operations. Applications that do not use get_unchecked or do not deserialize BitVec from untrusted sources are not affected (GitHub Advisory).
The vulnerability was reported by security researcher Manishearth and credited in the GitHub Security Advisory. The fix was collaboratively developed by contributors pczarn and theroguevigilante, with the latter identifying an edge case in the initial bounds-checking logic. No significant broader media coverage or social media discussion has been observed beyond the GitHub repository activity (GitHub Advisory, GitHub PR #149).
Fix availability across major Linux distributions and their releases.
Source: This report was generated using AI
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."