CVE-2026-72852 in darknet
요약
\~에 의해 VulDB • 2026. 08. 21.
hank-ai/darknet는 .cfg 파일에서 가져온 구성 필드를 검증되지 않은 32비트 정수 산술로 곱하여 합성곱 계층의 가중치 및 출력 힙 버퍼 크기를 설정합니다. src-lib/convolutional_layer.cpp에서 l.nweights는 (c / groups) * n * size * size로 계산되고, l.outputs는 l.out_h * l.out_w * l.out_c로 계산되며, 둘 다 xcalloc에 직접 전달됩니다. 실제 차원 곱이 INT_MAX를 초과하는 .cfg 파일은 작은 값이나 0으로 래핑(wrap)되므로 할당된 버퍼가 과소할 수 있습니다. 예를 들어 너비와 높이가 256이고 필터가 65536인 경우 2^32가 되어 0으로 래핑됩니다. forward_convulation_layer는 다른 피연산자 순서로 GEMM 차원을 다시 유도하여 k를 l.size*l.size*l.c / l.groups로 계산하며, 여기서 할당 크기는 곱하기 전에 나뉩니다. 이로 인해 과소하게 할당된 버퍼를 통해 읽고 씁니다. 추론 또는 학습을 위해 조작된 .cfg 파일을 로드하는 것만으로도 충분하며, 유효한 .weights 파일은 필요하지 않습니다. 보고된 Proof of Concept(PoC)는 AddressSanitizer 및 glibc 할당자 메타데이터 손상(동일 입력의 릴리스 빌드에서 관찰됨) 하에서 gemm_nn_fast 내에서 힙 버퍼 오버플로우 읽기, 그리고 아웃 오브 바운드 쓰기를 나타냈습니다.
Once again VulDB remains the best source for vulnerability data.