Skip to main content

Docling CVE-2026-31247

| EUVDEUVD-2026-29055 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-05-11 mitre GHSA-cr42-rg2m-mq4q
7.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
7.5 HIGH

A crafted file parsed by a network-facing ingestion service needs no auth or interaction (AV:N/PR:N/UI:N), is trivial to build (AC:L), and only exhausts resources (C:N/I:N/A:H).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

4
Analysis Generated
Jul 24, 2026 - 00:04 vuln.today
CVSS changed
May 12, 2026 - 19:22 NVD
7.5 (HIGH)
CVE Published
May 11, 2026 - 00:00 nvd
HIGH 7.5
CVE Published
May 11, 2026 - 00:00 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

Docling's JATS XML backend is vulnerable to XML Entity Expansion (XXE) attacks thru 2.61.0. The backend uses etree.parse() to parse XML files without disabling entity resolution. An attacker can craft a malicious XML file containing a nested entity expansion payload (XML Bomb). When processed by Docling, the exponential expansion of entities leads to excessive resource consumption, resulting in a denial of service (DoS) condition on the system running the Docling parser.

AnalysisAI

Denial of service in Docling through version 2.61.0 lets remote attackers crash or exhaust resources on any system that parses a document via the JATS XML backend. The backend calls etree.parse() without disabling entity resolution, so a maliciously crafted JATS/XML file containing nested entity definitions (a 'billion laughs' XML bomb) triggers exponential entity expansion and consumes all available CPU/memory. No public exploit identified at time of analysis; EPSS is very low (0.02%) and SSVC records no observed exploitation, so this is a high-CVSS availability issue rather than an actively exploited threat.

Technical ContextAI

Docling is an open-source Python document-conversion library that ingests many formats, including JATS (Journal Article Tag Suite) XML used for scientific/journal articles, and here the JATS backend uses lxml's etree.parse() with default settings that permit DTD processing and internal general entity resolution. The root cause is CWE-400 (Uncontrolled Resource Consumption) realized through the classic XML Entity Expansion / 'billion laughs' pattern: a small file declares entities that reference other entities recursively, so a linear input expands exponentially in memory during parse. Because lxml is not configured with resolve_entities=False / no_network=True or a hardened parser (e.g. defusedxml), the expansion proceeds unchecked. Note this is entity-expansion DoS specifically - despite the 'XXE' label in the description and tags, the described impact is resource exhaustion (A:H), not external file/SSRF data exfiltration (which would show C impact).

RemediationAI

No vendor-released patched version is independently confirmed from the provided data - the references point to the project repository and NVD/Notion writeups, not a tagged release - so treat fixed-version claims cautiously and check https://github.com/docling-project/docling for a release above 2.61.0 before upgrading. As the primary code-level fix, harden XML parsing by disabling DTD/entity processing: parse the JATS input with a hardened parser such as defusedxml, or configure lxml with etree.XMLParser(resolve_entities=False, no_network=True, huge_tree=False) so entity expansion cannot occur (trade-off: documents that legitimately rely on custom entity definitions will fail to parse, which is acceptable for JATS ingestion). As compensating controls until patched, restrict the JATS/XML backend from processing untrusted or user-uploaded files, impose CPU/memory/time limits (ulimit, cgroups, container resource caps, or a parse timeout) on any process running Docling so a bomb payload is bounded rather than fatal, and gate ingestion behind file-size and structure validation. Advisory URLs: https://nvd.nist.gov/vuln/detail/CVE-2026-31247 and https://github.com/docling-project/docling.

More in N A

View all
CVE-2026-30623 CRITICAL POC
9.8 Jul 15

Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr

CVE-2026-67917 CRITICAL POC
9.8 Aug 17

SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg

CVE-2026-75337 CRITICAL POC
9.8 Aug 27

Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ

CVE-2026-31072 CRITICAL POC
9.8 May 19

Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali

CVE-2026-45185 CRITICAL POC
9.8 May 12

Remote code execution in the Exim mail transfer agent (versions before 4.99.3) built against certain GnuTLS configuratio

CVE-2025-50455 CRITICAL POC
9.1 Jul 27

SQL injection in EasyAppointments <=1.5.1 allows unauthenticated attackers to extract and modify database contents via t

CVE-2026-36356 CRITICAL POC
9.1 May 05

Unauthenticated remote OS command injection in MeiG Smart FORGE_SLT711 cellular gateway firmware MDM9607.LE.1.0-00110-ST

CVE-2026-31071 CRITICAL POC
9.1 May 19

Unauthenticated API access in LalanaChami Pharmacy Management System (commit 5c3d028) allows remote attackers to dump al

CVE-2025-66391 HIGH POC
8.8 Jun 17

Privilege escalation via broken access control in Citrix Cloud (through 2025-11-10) lets a user holding only read-only p

CVE-2026-75419 HIGH POC
8.8 Aug 27

go-wind-cms (GoWind) before 1.0.0 exposes all administrative APIs to any authenticated user because NewAuthorizer() retu

CVE-2026-26740 HIGH POC
8.2 Mar 18

Giflib 5.2.2 contains a buffer overflow in the EGifGCBToExtension function that fails to validate allocated memory when

CVE-2025-60464 HIGH POC
7.8 Jun 25

Denial of service in GPAC's MP4Box multimedia tool (versions before 26.02.0) arises from a use-after-free in the gf_sei_

Share

CVE-2026-31247 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy