개요
llama.cpp(commit 97f06e9까지)는 --reranking 플래그로 시작할 경우, POST /rerank 요청의 음수 top_n 값을 통해 원격 공격자가 서비스 거부(std::bad_alloc 및 HTTP 500)를 유발할 수 있습니다.
세부 정보
- 취약 위치:
tools/server/server-context.cpp(4048행),tools/server/server-common.cpp의format_response_rerank(1245행) - 전제 조건:
--reranking서버 플래그(기본값 아님) - 동작: 서버는 요청을 처리하다 크래시하지 않고 HTTP 500을 반환하며 생존.
- 재현성:
top_n < 0이면 100% 재현.
NVD 세부 정보
- CVSS: 7.5(높음)
- 벡터: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CWE: CWE-190 (정수 오버플로/랩어라운드)
- 공격 유형: 원격(Network)
- 발행일: 2026-08-12
패치 상태
- 미패치 (최신 릴리스 b10405 / 2026-08-13 기준).
server-context.cpp의int top_n = json_value(body, "top_n", ...)에 음수 검증이 없어top_n < 0이 그대로 전달됨.