Rammadaeus's picture
Upload README.md with huggingface_hub
7c30770 verified
# PoC: ExecuTorch Out-of-bounds Read via Crafted .pte File
## Vulnerability
Out-of-bounds heap read in ExecuTorch `Program::load()` and metadata accessors when processing a crafted `.pte` file. The default loading path (`Verification::Minimal`) does not run the FlatBuffers Verifier, so crafted offsets cause SIGSEGV when accessing program metadata.
**CWE:** CWE-125 (Out-of-bounds Read)
**Tested:** `executorch==1.1.0` (pip), source commit `a17428b33d7cdb0bc4b4917da4e487dbcfe4173d`
## Reproduction
```bash
pip install executorch==1.1.0
python3 reproduce.py
```
Expected output:
```
[*] Testing: poc_flatbuf_oob.pte (64 bytes)
Loading program... (should crash)
Segmentation fault (core dumped)
```
## Files
- `poc_flatbuf_oob.pte` — 64-byte crafted .pte file (triggers SEGV in `get_execution_plan()` via `strcmp` on invalid pointer)
- `poc_vtable_oob.pte` — 64-byte crafted .pte file (triggers SEGV in `get_method_name()` via invalid VTable offset)
- `reproduce.py` — Self-contained Python reproduction script