wulonchia's picture
Add README
c8dd2a0 verified
|
Raw
History Blame Contribute Delete
970 Bytes
metadata
license: other

ExecuTorch .ptd Null-Pointer Dereference PoC

Security research PoC for Huntr MFV submission.

Vulnerability: Missing FlatBuffer verifier + null pointer dereference in FlatTensorDataMap::load() when processing malicious .ptd external weight files.

Affected: pytorch/executorch (latest main, commit 6018283)

Component: extension/flat_tensor/flat_tensor_data_map.cpp:114-125

Files

  • poc_null_sizes.ptd — TensorLayout present but sizes field absent → sizes() returns nullptr → SIGSEGV (exit 134)
  • poc_null_tl.ptd — NamedData with no tensor_layout → tensor_layout() returns nullptr → SIGSEGV (exit 134)
  • reproduce.py — Script to regenerate PoC files

Root Cause

FlatTensorDataMap::load() calls GetFlatTensor() without running VerifyFlatTensorBuffer(). The subsequent create_tensor_layout() dereferences tensor_layout->sizes() without null-checking this optional flatbuffer field.