Panic-Safety Unsoundness in orx-split-vec: Uninitialized Read Vulnerability
Summary
RUSTSEC-2026-0252: Panic-safety unsoundness in SplitVec::extend_from_slice (uninitialized read). Affects orx-split-vec versions >= 0.0.0-0, < 4.0.0. Fixed in 4.0.0. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
orx-split-vec is a Rust library designed to provide efficient vector splitting and manipulation functionalities. It allows developers to extend vectors and manage memory effectively. However, the library has a critical vulnerability that arises from its handling of element cloning during the extension process, leading to potential memory safety issues.
Vulnerability Detail
The vulnerability in orx-split-vec occurs in the SplitVec::extend_from_slice function, where the logical length of the vector is incremented before the elements are cloned into the reserved slots. If the cloning of an element panics, the length count will include slots that have not been initialized, resulting in a safe read operation accessing uninitialized memory. This can lead to reading garbage values, particularly problematic for heap-owning types like String, which can result in corrupted length and pointer fields. This issue is classified as a memory corruption vulnerability (CWE-908) and can be exploited from safe Rust code, making it a significant concern for developers.
How To Fix
Minimum fixed version
4.0.0
This is the first release that contains the fix.
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
Currently, there are no specific workarounds mentioned for this vulnerability. The best course of action is to update to the patched version as soon as possible.
Conclusion
The orx-split-vec library has a critical vulnerability related to panic-safety unsoundness, which can lead to reading uninitialized memory. Developers are advised to update to version 4.0.0 or later to mitigate this risk. Utilizing tools like Vulert can help in monitoring and managing vulnerabilities in your applications effectively.
See every vulnerability recorded for orx-split-vec →
FAQ
The vulnerability is a panic-safety unsoundness issue that leads to reading uninitialized memory when cloning elements during vector extension.
If your application uses orx-split-vec and encounters a panic during element cloning, it may read uninitialized memory, leading to unpredictable behavior or crashes.
Yes, the vulnerability has been fixed in version 4.0.0 of orx-split-vec. Updating to this version will resolve the issue.
You can use Vulert to monitor and alert for open-source vulnerabilities in your software. By uploading your Cargo.lock file to Vulert, you can check for any vulnerabilities, including this one.
While there are no specific workarounds, it is crucial to prioritize updating to the patched version to ensure memory safety and prevent potential exploitation.