luckilytsh's picture
Add README.md
29ccc8b verified
|
Raw
History Blame Contribute Delete
904 Bytes
metadata
license: mit
tags:
  - security
  - poc
  - executorch

Harmless PoC: ExecuTorch Method::init args / operators vector length OOB

gen_instruction_arguments indexes KernelCall.args[i] / DelegateCall.args[i] using a forged FlatBuffer vector length with no bound against the program buffer. Under default Program::Verification::Minimal, loading a malicious .pte and calling Method::load triggers ASan heap-buffer-overflow READ at method.cpp:259.

Related: forged operators()->size()resolve_operator ops->Get(op_index) HBO at method.cpp:750.

Distinct from packaged values/chains/instructions length OOB, READY constant/mutable offsets, MethodMeta sizes, WebGPU, Vela, VGF.

Files

  • poc_method_load_operators_asan.cpp, asan.log (kernel-args-oob)
  • related: delegate-args-oob, operators-oob
  • NOTES.md
./poc_method_load_operators_asan kernel-args-oob