NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
🦀
🦀 crates.io
Not in CISA KEV
CRITICAL severity

Buffer overflow in SmallVec::insert_manyGHSA-43w2-9j62-hq99

CRITICALFix: servo/rust-smallvec@5757ac5

GHSA-43w2-9j62-hq99 is a critical-severity (CVSS 9.8) Out-of-bounds Write vulnerability in smallvec. 1 public exploit or proof-of-concept reference is indexed, so weaponization risk is real. A fix is available for smallvec — see the affected versions and patch details below.

Also known asCVE-2021-25900RUSTSEC-2021-0003
Published
Updated
Affected
2 pkgs
Patched
2 / 2
Exploits
1 known
Exploitation data as of Nov 9, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
1.7%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs78th percentile — riskier than 78% of all scored CVEsHighest risk
0.03%0.76%1.49%2.22%0.5%1.7%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

2 pkgs affected
🦀smallvec🦀smallvec

Real-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

A bug in the SmallVec::insert_many method caused it to allocate a buffer that was smaller than needed. It then wrote past the end of the buffer, causing a buffer overflow and memory corruption on the heap. This bug was only triggered if the iterator passed to insert_many yielded more items than the lower bound returned from its size_hint method.

The flaw was corrected in smallvec 0.6.14 and 1.6.1, by ensuring that additional space is always reserved for each item inserted. The fix also simplified the implementation of insert_many to use less unsafe code, so it is easier to verify its correctness.

Affected Packages

2 total 2 fixed
EcosystemPackageVulnerable rangeFix
🦀crates.iosmallvec≥ 0.6.3&&< 0.6.140.6.14cargo update -p smallvec --precise 0.6.14
🦀crates.iosmallvec≥ 1.0.0&&< 1.6.11.6.1cargo update -p smallvec --precise 1.6.1

Affected Products

1 product · 2 configurations
Application
smallvecservo
≥ 1.0.0 && < 1.6.1
range
Exploits & PoCs
1

Research use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for smallvec, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update smallvec to 0.6.14 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-43w2-9j62-hq99 is resolved across your whole dependency graph.

  3. Workarounds

    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

A bug in the SmallVec::insert_many method caused it to allocate a buffer that was smaller than needed. It then wrote past the end of the buffer, causing a buffer overflow and memory corruption on the heap. This bug was only triggered if the iterator passed to insert_many yielded more items than the lower bound returned from its size_hint method. The flaw was corrected in smallvec 0.6.14 and 1.6.1, by ensuring that additional space is always reserved for each item inserted. The fix also simplified the implementation of insert_many to use less unsafe code, so it is easier to verify its correctn
O3 Security · Impact-Aware SCA

Is GHSA-43w2-9j62-hq99 in your dependencies?

Find it across crates.io, including transitive dependencies.

Buffer overflow in SmallVec::insert_many (Critical 9.8)