luckilytsh's picture
Add README.md
29ccc8b verified
|
Raw
History Blame Contribute Delete
904 Bytes
---
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`
```bash
./poc_method_load_operators_asan kernel-args-oob
```