owning_ref vulnerable to multiple soundness issuesGHSA-9qxh-258v-666c
GHSA-9qxh-258v-666c is a security vulnerability in owning_ref. The records list no fixed version yet; check the vendor advisory below and apply the mitigations in the meantime.
Real-World Exposure
owning_refReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects crates.io packages — download data is not available via public APIs for these ecosystems.
Description
OwningRef::map_with_owneris unsound and may result in a use-after-free.OwningRef::mapis unsound and may result in a use-after-free.OwningRefMut::as_ownerandOwningRefMut::as_owner_mutare unsound and may result in a use-after-free.- The crate violates Rust's aliasing rules, which may cause miscompilations on recent compilers that emit the LLVM
noaliasattribute.
No patched versions are available at this time. While a pull request with some fixes is outstanding, the maintainer appears to be unresponsive.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🦀crates.io | owning_ref | all versions | No fix |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for owning_ref, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Remediation status
The records we use list no patched version of owning_ref for GHSA-9qxh-258v-666c. Check the maintainer's advisory, and where your build allows, override or pin the dependency away from the vulnerable range.
Mitigate without a patch
Constrain what reaches the vulnerable code: limit the size and shape of untrusted input, isolate the affected component in a sandboxed or least-privileged process, and enable the platform's memory-safety mitigations (ASLR, stack protector, hardened allocator) so an out-of-bounds access is more likely to fail closed than to be exploitable.
Frequently Asked Questions
Is GHSA-9qxh-258v-666c in your dependencies?
Find it across crates.io, including transitive dependencies.