# CVE-2026-52130: llama.cpp uncontrolled recursion in JSON schema converter

Source: https://junglewise.ai/threats/cve-2026-52130-llama-cpp-uncontrolled-recursion-in-json-schema-converter  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-01. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-52130 · Severity: high · CVSS 7.5 · Published 2026-09-01

llama.cpp is an open-source framework for running large language models locally. The framework contains a denial-of-service vulnerability in its JSON schema parsing logic that can crash the server when processing deeply nested schemas. An unauthenticated remote attacker can exploit this by sending a malicious request with a deeply nested JSON schema, causing the application to become unavailable.

Technologies: [GGML Llama.Cpp](https://junglewise.ai/threats/technologies/llama-cpp). Vendors: [GGML](https://junglewise.ai/threats/vendors/ggml).

## Quick answers

**Is CVE-2026-52130 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-52130 being exploited in the wild.

**How severe is CVE-2026-52130?** High severity, with a CVSS score of 7.5, published 1 September 2026.

**Which products and versions are affected?** ggml-org llama.cpp b5693 and earlier.

**Is there a fix for CVE-2026-52130?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-52130 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-52130?** Check whether you run GGML Llama.Cpp. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is an uncontrolled recursion flaw in common/json-schema-to-grammar.cpp, specifically in the SchemaConverter::visit and _generate_union_rule functions. The vulnerable code lacks recursion depth limits when processing JSON schemas. An attacker can trigger a stack overflow by submitting a POST request to the /completions endpoint with a json_schema field containing deeply nested structures (≥7000 levels observed). This exhausts the thread stack and crashes the server, resulting in denial of service. The /v1/chat/completions endpoint is not affected because it routes json_schema through a Jinja engine. As of the latest release (b10405 as of August 2026), the vulnerability remains unpatched with no recursion depth controls in place.

## Affected products

- ggml-org llama.cpp b5693 and earlier

## Timeline

- 2026-09-01: disclosed: Published on NVD
- 2026-08-12: other: Initial public disclosure on Ph4nt0m blog

## References

- [https://blog.ph4nt0m.xyz/ko/cves/cve-2026-52130/](https://blog.ph4nt0m.xyz/ko/cves/cve-2026-52130/)
- [https://github.com/ggml-org/llama.cpp](https://github.com/ggml-org/llama.cpp)

## Related threats

- [llama.cpp integer overflow in gguf_init_from_reader](https://junglewise.ai/threats/cve-2026-116840-llama-cpp-b5854-before-b11275-contains-an-integer-overflow)
- [llama.cpp denial of service via negative top_n in reranking API](https://junglewise.ai/threats/cve-2026-52132-llama-cpp-denial-of-service-via-negative-top-n-in-reranking-api)
- [llama.cpp uncontrolled recursion denial of service in json-schema-to-grammar](https://junglewise.ai/threats/cve-2026-52131-llama-cpp-uncontrolled-recursion-denial-of-service-in-json-schema)
- [llama.cpp builds b1886 through b7445 contain a race condition use-after-free vulnerability in the LLaMA-Android JNI…](https://junglewise.ai/threats/cve-2026-70640-llama-cpp-builds-b1886-through-b7445-contain-a-race-condition-use)
- [llama.cpp builds b1886 through b7445 contain a null pointer dereference vulnerability in the LLaMA-Android JNI wrapper…](https://junglewise.ai/threats/cve-2026-70639-llama-cpp-builds-b1886-through-b7445-contain-a-null-pointer)
