Volver al registro de CVE
cveHighPublicadoLLMpublic12 de agosto de 2026

llama.cpp json-schema-to-grammar 무제어 재귀 DoS

llama.cpp <=b5693은 common/json-schema-to-grammar.cpp의 무제어 재귀로 인해 서비스 거부(DoS)에 취약합니다. POST /completions 경로만 영향을 받습니다.

개요

llama.cpp <=b5693(commit 97f06e9)은 common/json-schema-to-grammar.cpp의 무제어 재귀로 인해 서비스 거부(DoS)에 취약합니다. 깊게 중첩된 JSON 스키마를 json_schema 필드로 전달하면 재귀 스택이 소진되어 서버가 크래시됩니다.

세부 정보

  • 취약 함수: SchemaConverter::visit (839행), _generate_union_rule (339행)
  • 진입점: tools/server/server-task.cpp (373행)
  • 영향 경로: POST /completions 만 영향. POST /v1/chat/completionsjson_schema를 jinja 엔진으로 라우팅하므로 취약하지 않음.
  • 재현성: 재귀 깊이 >= 7000에서 100% 재현. 기본 8 MB 스레드 스택 x86-64 Linux에서 확인.

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-674 (무제어 재귀)
  • 공격 유형: 원격(Network)
  • 발행일: 2026-08-12

패치 상태

  • 미패치 (최신 릴리스 b10405 / 2026-08-13 기준). SchemaConverter::visit·_generate_union_rule·get_recursive_refs에 재귀 깊이 제한 인자가 없어 무제어 재귀가 유지됨. 기준(b5693) 이후 해당 파일 변경은 파싱 정렬(PR #24835)뿐으로 재귀 제어와 무관.

참고 링크