Downloads · 30 days
0
htdy7703/keras-load-model-extra-zip-member-disk-dos-poc-20260708
keras-load-model-extra-zip-member-disk-dos-poc-20260708 is a machine learning model from htdy7703. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
This PoC shows that Keras' default keras.models.loadmodel() path extracts attacker-controlled extra ZIP members to a temporary directory when a .keras archive has more than three members, even if:
Downloads · 30 days
0
Access
Public
Updated Jul 8, 2026
Repo size
—
Likes
0
Public
Click a slice to open those files.
.py2.4 KB · 48%
From the Hugging Face model README
.keras extra ZIP member disk-exhaustion PoCThis PoC shows that Keras' default keras.models.load_model() path extracts
attacker-controlled extra ZIP members to a temporary directory when a .keras
archive has more than three members, even if:
assets/What this PoC proves:
.keras archive can hide a much larger extra member such as
junk.binload_model() writes that hidden member to disk before returning the modelWhat this PoC does not claim:
Verified runtime:
3.16.02.21.02aeecf06e0dc6886d962d14f8056f7ca8b15792bRun repro.py with the built Keras package on PYTHONPATH. The script builds
a legitimate .keras model, appends a compressed junk.bin member outside the
assets/ tree, and measures the resulting load_model() behavior.