htdy7703 commited on
Commit
1136d27
·
verified ·
1 Parent(s): 8a292f7

Add README for Joblib memory bomb PoC

Browse files

Minimal public PoC for the verified Joblib NumpyArrayWrapper memory exhaustion report.

Files changed (1) hide show
  1. README.md +21 -0
README.md ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Joblib `NumpyArrayWrapper` Memory Exhaustion PoC
2
+
3
+ This PoC shows that a tiny file containing a built-in Joblib `NumpyArrayWrapper`
4
+ can make `joblib.load()` attempt a large NumPy allocation on the default load path.
5
+
6
+ What this PoC shows:
7
+ - the issue affects the standard `joblib.load()` path, not only the legacy compatibility loader
8
+ - the crafted file is tiny and contains only Joblib's own wrapper metadata
9
+ - `pickle.load()` of the same file is inert, while `joblib.load()` reconstructs the wrapper and allocates
10
+
11
+ What this PoC does not show:
12
+ - arbitrary code execution
13
+ - filesystem read or write outside the loaded artifact
14
+ - a bypass of Joblib's documented warning that untrusted `joblib.load()` inputs are unsafe
15
+
16
+ Runtime tested:
17
+ - Joblib commit `b030e4e1ed6a227c0e587c31b266c03b3b692372`
18
+ - NumPy `2.3.5`
19
+ - Python `3.14`
20
+
21
+ Run `reproduce.py` to generate the tiny malicious artifact and trigger the allocation attempt.