Harmless PoC: ExecuTorch MethodMeta non_const_buffer_device vector length OOB
MethodMeta::memory_planned_buffer_device loops ExecutionPlan.non_const_buffer_device using a forged FlatBuffer vector length with no bound against the program buffer. Under default Program::Verification::Minimal, loading a malicious .pte and calling memory_planned_buffer_device(0) triggers ASan heap-buffer-overflow READ at method_meta.cpp:391.
Distinct from packaged MethodMeta non_const_buffer_sizes / memory_planned_buffer_size, I/O index, Tensor.sizes, Program execution_plan/backend_delegate_data, Method::init vectors.
Files
poc_method_meta_buffer_device_asan.cpp,asan.logmethod_load_stub.cpp(link stub for unusedMethod::load)NOTES.md
./poc_method_meta_buffer_device_asan
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support