
패치되지 않은 llama.cpp 취약점(CVE-2026-43626 ~ CVE-2026-43632)에 대한 보안 패치 — Cyera Research
llama.cpp의 미패치 취약점에 대한 보안 패치로, Cyera Research가 발견했습니다.
2025년 7월부터 2026년 6월까지, 우리는 GitHub Security Advisory와 MITRE를 통해 llama.cpp 프로젝트에 10개의 취약점을 보고했습니다. 모든 권고는 유지관리자에 의해 수정이나 CVE 할당 없이 종료되었습니다. 우리는 2026년 6월에 패치가 포함된 공개 PR을 제출했지만, 이 역시 병합되지 않고 종료되었습니다.
VulnCheck는 벤더와 MITRE 모두 조치를 취하지 않자 10개의 CVE ID를 할당했습니다. 원래 ID 중 세 개(CVE-2026-43623, CVE-2026-43624, CVE-2026-43626)는 이후 각각 CVE-2026-70638, CVE-2026-70639, CVE-2026-70640으로 대체되었습니다.
이 패치는 사용자와 다운스트림 프로젝트가 스스로를 보호할 수 있도록 제공됩니다.
| CVE | CVSS | 취약점 | 영향받는 파일 | 패치 |
|---|---|---|---|---|
| CVE-2026-70640 | 7.3 | Android JNI 경쟁 조건 (UAF) | ai_chat.cpp | CVE-2026-70640 |
| CVE-2026-43627 | 8.5 | llama_batch_init() 정수 오버플로 | llama-batch.cpp | CVE-2026-43627 |
| CVE-2026-43628 | 8.5 | DRY 샘플러 정수 언더플로 | llama-sampler.cpp, arg.cpp, server-task.cpp | CVE-2026-43628 |
| CVE-2026-43629 | 9.2 | KV 캐시 상태 버퍼 오버플로 | llama-kv-cache.cpp | CVE-2026-43629 |
| CVE-2026-43631 | 9.2 | 서버 sleep-idle use-after-free | server-context.cpp, server-queue.cpp, server-queue.h | CVE-2026-43631 |
| CVE-2026-43632 | 9.2 | 서버 무제한 작업 생성 | server-task.cpp, server-queue.cpp | CVE-2026-43632 |
단일 수정 적용:
cd /path/to/llama.cpp
git apply /path/to/patches/CVE-2026-43631-server-sleep-uaf.patch
모든 수정을 한 번에 적용:
cd /path/to/llama.cpp
git apply /path/to/patches/all-fixes.patch
최신 llama.cpp 버전에서 컨텍스트 변경으로 인해 git apply가 실패하는 경우 --3way를 사용해 보세요:
git apply --3way /path/to/patches/all-fixes.patch
| 날짜 | 사건 |
|---|---|
| 2025년 7월 | GitHub Security Advisory를 통해 첫 번째 취약점 제출 |
| 2025년 10월 | CVE 할당을 위해 MITRE에 연락 — 7개의 요청 ID를 받았으나 할당된 것은 없음 |
| 2026년 1월–5월 | 추가로 4개의 권고 제출 — 모두 수정 없이 종료 |
| 2026년 5월 | VulnCheck가 10개의 CVE 할당 |
| 2026년 6월 | 패치가 포함된 공개 PR 제출 — PR 종료됨 |