CVE-2026-81334 in darknet
요약
\~에 의해 VulDB • 2026. 08. 27.
darknet는 구성 파일에서 가져온 인덱스를 사용하여 레이어 배열에 서브스크립트(인덱스 참조)를 수행하지만, 해당 인덱스가 배열의 길이와 일치하는지 확인하지 않습니다. 이 배열은 src-lib/darknet_network.cpp에서 xcalloc(net.n, sizeof(Darknet::Layer))로 할당되며, 크기는 파일이 선언한 레이어 섹션의 정확한 수에 맞춰져 있습니다. shortcut, scale_channels 및 sam 섹식은 from 필드를 통해 해당 인덱스를 제공하고 route 섹식은 layers 필드를 통해 제공합니다. 또한 src-lib/darknet_cfg.cpp의 parse_shortcut_section 함수는 경계 검사 없이 net.layers[index].outputs를 읽으며, 이는 할당된 영역을 벗어난 메모리를 참조합니다. create_network 내의 dispatch 루프는 동일한 인덱스를 재사용하여 net.layers[l.index].use_bin_output 및 net.layers[l.index].keep_delta_gpu에 값을 할당하며, 파일이 제어하는 오프셋 위치에서 고정된 1바이트 값으로 할당 영역을 벗어난 메모리를 작성합니다. 조악하게 제작된 구성 파일을 파싱하기만 하면 충분합니다: 파싱은 가중치(weight) 파일이 열리기 전에 실행되며 비기본 옵션이 필요하지 않으므로, 그 결과는 신뢰할 수 있는 크래시와 위치는 제공자가 선택하지만 값은 고정되어 있는 메모리 쓰기가 발생합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.