Docling: Unsafe Archive Extraction and XML Parsing in METS-GBS Backend
Impact
The METS-GBS backend's XML parsing and the input document format detection lacked security controls, enabling:
- XML External Entity (XXE) attacks to read local files or cause denial of service
- Decompression bombs (zip bombs) to exhaust memory and disk space
- Unbounded archive extraction consuming system resources
An attacker could craft malicious METS-GBS archives that, when processed, could read sensitive files, exhaust system resources, or cause application crashes.
Patches
Fixed in version 2.91.0. The fix implements:
- Secure XML parsing with
resolve_entities=False,load_dtd=False, andno_network=True - Configurable limits: 300 MB total extraction size, 10 MB per file, 1000 member count
- Cumulative size tracking across all extractions
- Early termination when limits are exceeded
- Secure format detection of METS-GBS tar archives with
_detect_mets_gbs()method: maximum file size (10 MB per file), maximum member count (1000 members), and exception handling to gracefully fail when limits are exceeded
Workarounds
Avoid processing METS-GBS archives from untrusted sources. If necessary, pre-validate archives in an isolated environment with resource limits.
References
- Fix release: v2.91.0
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | docling | >= 2.45.0, < 2.91.0 | 2.91.0 |
References
- https://github.com/docling-project/docling/releases/tag/v2.91.0
- https://github.com/docling-project/docling/security/advisories/GHSA-r3xg-rg9j-67fv
- https://nvd.nist.gov/vuln/detail/CVE-2026-44018
- https://github.com/docling-project/docling
- https://github.com/pypa/advisory-database/tree/main/vulns/docling/PYSEC-2026-2144.yaml
- CVSS vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H- Weakness (CWE)
CWE-409, CWE-611, CWE-776- Platform
- Python (PyPI)
- Package
docling- Disclosed
- 03.06.2026
- Updated
- 11.10.2026 14:18
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-2144 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-r3xg-rg9j-67fv - CC BY 4.0
Vulnerability history: docling
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 18
- First → latest
- 05.2026 10.2026
- Without a fix
- 2
- Exploited in attacks
- 0
Severity breakdown
- High 7
- Medium 10
- Low 1
Disclosures per year
- 2026: 18
-
Docling: Unsafe Archive Extraction and XML Parsing in METS-GBS Backend this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.