metadata
license: mit
tags:
- security
- poc
- tflite
Harmless PoC: TFLite Micro detection_postprocess max_detections=0 scratch OOB
When FlexBuffer max_detections=0, Prepare requests a 0-byte sorted_indices scratch, but Eval still runs NMS and writes via std::iota / ArgSort into that buffer.
Files
repro.cc— isolated MicroContext harness calling realDetectionPostProcessPrepare/Evalasan.log— ASan heap-buffer-overflow WRITE atdetection_postprocess.cc:466poc_argsort_asan.cpp/asan_argsort.log— minimal iota mirrorNOTES.md
# See NOTES.md for include paths against a tflite-micro tree.
ASAN_OPTIONS=detect_leaks=0 ./repro_asan