Downloads · 30 days
0
ericblackgachara/npy-oom-dos-poc
npy-oom-dos-poc is a machine learning model from ericblackgachara. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Status: PoC CONFIRMED ✅ — Ready for huntr submission
Downloads · 30 days
0
Access
Public
Updated May 9, 2026
Repo size
135 KB
Likes
0
Public
Click a slice to open those files.
.pdf135 KB · 94%
From the Hugging Face model README
Status: PoC CONFIRMED ✅ — Ready for huntr submission
| Field | Value |
|---|---|
| Target | numpy (huntr.com — numpy/numpy) |
| Format | NumPy .npy / .npz array files |
| Vuln | CWE-789 — Unbounded Memory Allocation → MemoryError DoS |
| CVSS | 7.5 High |
| Trigger | numpy.load("bomb.npy") — no flags required |
| Effect | MemoryError: Unable to allocate 8.00 TiB for array with shape (1099511627776,) |
python3 poc/make_poc.py # creates bomb.npy (128 bytes)
python3 poc/trigger.py # MemoryError → crash
poc/make_poc.py — builds bomb.npy (128 bytes)poc/trigger.py — triggers crashpoc/bomb.npy — malicious array filereport.md — huntr submission reportevidence/poc-run.html — self-contained HTML evidencenumpy/lib/_format_impl.py — read_array() ~line 1089count = numpy.multiply.reduce(shape, dtype=numpy.int64) — no upper bound on countarray = numpy.ndarray(count, dtype=dtype) — allocates before reading any data128-byte .npy file with header declaring shape (2^40,) float64.
numpy.load() computes count=1,099,511,627,776, allocates before reading data → 8 TiB → MemoryError.
Same path applies to .npz files (ZIP of .npy arrays).