Downloads · 30 days
0
aslein1413/poc-orbax-checkpoint-traversal
poc-orbax-checkpoint-traversal is a machine learning model from aslein1413. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
An Orbax checkpoint is a directory (the standard JAX save format) with a plaintext METADATA JSON. The victim calls Checkpointer(...).restore(path) with defaults. Orbax builds each leaf's on-disk path as os.path.join(c…
Downloads · 30 days
0
Access
Public
Updated Jul 16, 2026
Repo size
—
Likes
0
Public
Click a slice to open those files.
.md7.4 KB · 59%
From the Hugging Face model README
An Orbax checkpoint is a directory (the standard JAX save format) with a plaintext
_METADATA JSON. The victim calls Checkpointer(...).restore(path) with defaults. Orbax
builds each leaf's on-disk path as os.path.join(ckpt_dir, name), where name comes
from the attacker-controlled _METADATA. Relative .. is blocked by tensorstore, but
absolute paths and Windows //host/share UNC paths are not.
Two primitives from a single default restore():
//attacker/share/x name forces the victim host into an outbound SMB connection
during the existence check, i.e. NTLM credential theft / SSRF (Windows-specific).poc_orbax_traversal.py — self-contained: builds the checkpoints, tampers _METADATA, and demonstrates both primitives.NOTES.md — full write-up with the exact source locations.pip install orbax-checkpoint numpy
python poc_orbax_traversal.py
# PRIMITIVE 1 -> TRAVERSAL-READ CONFIRMED (read outside ckpt dir)
Confirmed on a clean python:3.12-slim container with stock orbax-checkpoint 0.12.1.
A downloaded checkpoint can read files from outside its own directory on restore, and on Windows can coerce the host into authenticating to an attacker's SMB server. It is the default restore path with no misconfiguration. ModelScan does not recognize Orbax dirs.