⚠️ SECURITY RESEARCH ARTIFACT: DO NOT CONVERT
This repository contains deliberately malicious Darknet model files (.cfg + a minimal .weights)
used as proof-of-concept for a coordinated-disclosure vulnerability report filed via
huntr.com against the darknet2ncnn converter in
Tencent/ncnn.
Do NOT run these files through darknet2ncnn on a machine you care about. Each one crashes the
converter (SIGFPE, NULL dereference, uncaught exception, or a multi-terabyte allocation attempt).
What they trigger
All crashes are file-controlled, deterministic, and reproduced under AddressSanitizer against a stock
build of tools/darknet/darknet2ncnn.cpp at commit dda2e28. All are denial-of-service class.
| File | Finding | Sink | Weakness |
|---|---|---|---|
d1_groups0.cfg |
divide-by-zero (SIGFPE) | darknet2ncnn.cpp:425 parse_cfg |
CWE-369 |
d2_nullderef.cfg |
NULL pointer dereference | load_cfg:231 |
CWE-476 |
d3_stoi_outofrange.cfg |
std::out_of_range abort |
update_field:170 |
CWE-248 |
d3b_stoi_invalid.cfg |
std::invalid_argument abort |
update_field:174 |
CWE-1284 |
d5_hugealloc.cfg |
excessive / overflowing allocation | read_to:817 (load_weights:858) |
CWE-789/CWE-190 |
valid.weights |
shared minimal valid weights header | (so the positional weights arg resolves) | n/a |
Usage under test: ./d2n_asan <cfg> valid.weights out.param out.bin.
Disclosure status
Filed for coordinated disclosure through huntr. Please do not redistribute or public-post these PoCs until maintainer coordination and the disclosure window have completed. These files exist only to let the maintainers and huntr triagers reproduce and fix the issues.
Contact: huntr handle Ano1X8.