Views
No views yet
.keras NPZ Root Member DoS PoC.keras loading..keras archive can carry model.weights.npz__root__.npy is materialized before Keras applies the existing NPZ bomb guard used for named memberskeras.saving.load_model() can therefore allocate attacker-controlled memory from a small archive before failingkeras.saving.save_model() output path2026-07-07-npz-root-bomb-poc.py: builds a legitimate base archive, replaces the weights with a crafted NPZ payload, calls the public keras.saving.load_model() loader, and measures the RSS increase during load.keras archive during execution, so a prebuilt binary payload is not required to reproduce the issue.keras 3.16.02.21.01PYTHONPATH=/path/to/built/keras:/path/to/runtime/deps \
2KERAS_BACKEND=tensorflow \
3python3 2026-07-07-npz-root-bomb-poc.py