# Docling METS-GBS archive member limit enforced after full enumeration

Source: https://junglewise.ai/threats/duplicate-advisory-docling-mets-gbs-archive-member-limit-enforced-after-087423a8  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-06. Updated: 2026-10-06  
License: CC BY 4.0 with a link back

Severity: medium · CVSS 4.3 · Published 2026-10-06

Docling is a library for parsing documents in various formats. When processing gzip-compressed tar archives (METS-GBS format), the library fully enumerates archive members before checking size limits, allowing an attacker to craft a small compressed file that triggers memory exhaustion during format detection and processing. This causes denial of service by consuming system memory.

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 This vulnerability exploited in the wild?** No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.

**How severe is This vulnerability?** Medium severity, with a CVSS score of 4.3, published 6 October 2026.

**Which products and versions are affected?** IBM Docling 2.45.0 to 2.130.x; IBM Docling-Slim 2.92.0 to 2.130.x; docling (PyPI) >= 2.45.0, < 2.131.0.

**Is there a fix for This vulnerability?** Yes: fixed in docling 2.131.0, docling-slim 2.131.0. Until then: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is This vulnerability attacked?** It is attacked over the network, in a software library.

**Am I affected?** Check whether you run IBM Docling, IBM Docling-Slim 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.

## How to fix

- Fixed in docling 2.131.0, docling-slim 2.131.0

Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits.

## Technical details

The vulnerability exists in docling/datamodel/document.py and docling/backend/mets_gbs_backend.py, where tarfile.TarFile.getmembers() is called before enforcing max_member_count limits. An attacker can create a gzip-compressed tar with millions of empty members that compresses to kilobytes but expands to hundreds of megabytes in memory. Memory exhaustion occurs during format detection before allowed_formats restrictions are applied.

## Affected products

- IBM docling 2.45.0 to 2.130.x
- IBM docling-slim 2.92.0 to 2.130.x

## Timeline

- 2026-09-29: disclosed
- 2026-09-29: patched

## References

- [https://github.com/docling-project/docling/security/advisories/GHSA-3cr3-8m4c-fpxw](https://github.com/docling-project/docling/security/advisories/GHSA-3cr3-8m4c-fpxw)

## Related threats

- [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)
- [Docling memory exhaustion in METS-GBS tar archive processing](https://junglewise.ai/threats/cve-2026-105747-docling-simplifies-document-processing-by-parsing-diverse)
