Darknet
Monthly
Out-of-bounds read and write primitives in the hank-ai Darknet neural network framework (all versions through 6.0) are triggered by parsing a crafted configuration file, yielding a reliable crash and a single fixed-byte heap write at an attacker-controlled offset. The parser in src-lib/darknet_cfg.cpp consumes the `from` field of shortcut, scale_channels, and sam sections-and the `layers` field of route sections-as a direct array index into the layer heap allocation without validating it against the array's declared size. No public exploit has been identified at time of analysis, and the vulnerability is not listed in CISA KEV.
Heap buffer overflow in hank-ai/darknet's convolutional layer initialization corrupts process memory when a crafted .cfg model configuration is loaded, because layer weight and output buffer sizes are derived from unchecked 32-bit integer multiplication of configuration-supplied fields, allowing the product to wrap to zero or a small value. Darknet versions through 6.0 are affected, and no valid .weights file is required to trigger the flaw - the .cfg alone is sufficient. A publicly available proof of concept demonstrates both an out-of-bounds read under AddressSanitizer and glibc allocator metadata corruption in a release build, confirming that exploitation does not require deep reverse engineering.
Out-of-bounds read and write primitives in the hank-ai Darknet neural network framework (all versions through 6.0) are triggered by parsing a crafted configuration file, yielding a reliable crash and a single fixed-byte heap write at an attacker-controlled offset. The parser in src-lib/darknet_cfg.cpp consumes the `from` field of shortcut, scale_channels, and sam sections-and the `layers` field of route sections-as a direct array index into the layer heap allocation without validating it against the array's declared size. No public exploit has been identified at time of analysis, and the vulnerability is not listed in CISA KEV.
Heap buffer overflow in hank-ai/darknet's convolutional layer initialization corrupts process memory when a crafted .cfg model configuration is loaded, because layer weight and output buffer sizes are derived from unchecked 32-bit integer multiplication of configuration-supplied fields, allowing the product to wrap to zero or a small value. Darknet versions through 6.0 are affected, and no valid .weights file is required to trigger the flaw - the .cfg alone is sufficient. A publicly available proof of concept demonstrates both an out-of-bounds read under AddressSanitizer and glibc allocator metadata corruption in a release build, confirming that exploitation does not require deep reverse engineering.