# CVE-2026-31247: Docling XXE in JATS XML backend

Source: https://junglewise.ai/threats/cve-2026-31247-docling-xxe-in-jats-xml-backend  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-05-11. Updated: 2026-05-18  
License: CC BY 4.0 with a link back

CVE-2026-31247 · Severity: high · CVSS 7.5 · Published 2026-05-11

Docling, a library used to prepare documents for generative AI applications, contains a vulnerability in how it processes JATS XML files. An attacker can provide a specially crafted XML file that, when parsed, consumes all available system memory and processing power. This results in a denial-of-service (DoS) condition, potentially crashing the application or the server it is running on.

Technologies: [IBM Docling](https://junglewise.ai/threats/technologies/docling), [docling (PyPI)](https://junglewise.ai/threats/technologies/pypi-docling). Vendors: [IBM](https://junglewise.ai/threats/vendors/ibm), [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

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

**How severe is CVE-2026-31247?** High severity, with a CVSS score of 7.5, published 11 May 2026.

**Which products and versions are affected?** IBM Docling up to and including 2.61.0; docling (PyPI) ECOSYSTEM:introduced=0,last_affected=2.61.0.

**Is there a fix for CVE-2026-31247?** 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-31247 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-31247?** Check whether you run IBM Docling or docling (PyPI) at an affected version. 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 Docling JATS XML backend is vulnerable to an XML Entity Expansion (XXE) attack, specifically an 'XML Bomb' or Billion Laughs attack. The vulnerability exists because the backend utilizes the `etree.parse()` function without explicitly disabling entity resolution. An unauthenticated attacker can submit a malicious XML file containing nested entity definitions that expand exponentially during parsing. This leads to uncontrolled resource consumption (CWE-400), resulting in a denial-of-service (DoS) condition on the host system. The issue affects versions up to and including 2.61.0.

## Affected products

- docling-project docling <= 2.61.0

## Identifiers

- CVE-2026-31247
- GHSA-cr42-rg2m-mq4q
- PYSEC-2026-2455

## Timeline

- 2026-05-11: advisory: Initial advisory published by GitHub and NVD
- 2026-05-18: other: Advisory reviewed and updated by GitHub staff

## References

- [https://github.com/docling-project/docling](https://github.com/docling-project/docling)
- [https://www.notion.so/CVE-2026-31247-35d1e1393188818fa654c116c6a470bb](https://www.notion.so/CVE-2026-31247-35d1e1393188818fa654c116c6a470bb)

## Related threats

- [Docling METS-GBS archive member limit enforced after full enumeration](https://junglewise.ai/threats/duplicate-advisory-docling-mets-gbs-archive-member-limit-enforced-after-087423a8)
- [Docling arbitrary filesystem read via unvalidated xlink:href in ODF images](https://junglewise.ai/threats/cve-2026-105751-docling-simplifies-document-processing-by-parsing-diverse)
- [Docling local file disclosure in HTML rendering](https://junglewise.ai/threats/cve-2026-105750-docling-simplifies-document-processing-by-parsing-diverse)
- [Docling unbounded table span allocation denial of service](https://junglewise.ai/threats/cve-2026-105749-docling-simplifies-document-processing-by-parsing-diverse)
- [IBM Docling arbitrary local file read via JSON backend](https://junglewise.ai/threats/cve-2026-105748-docling-simplifies-document-processing-by-parsing-diverse)
