Skip to main content
← All vulnerabilities
CVE-2026-105749PYSEC-2026-4211GHSA-CGC7-9QP3-86M3PYSEC-2026-4195

Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.131.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.0.0 until 2.131.0, the HTML, JATS, OpenDocument spreadsheet, and BoxNote backends, including docling/backend/html_backend.py, docling/backend/jats_backend.py, and docling/backend/boxnote_backend.py, accept the rowspan and colspan attribute values without an upper bound and execute loops or allocate a table grid proportional to the declared span. A very small document can therefore cause sustained CPU use or multi-gigabyte memory allocation, and the document_timeout setting does not interrupt the single backend conversion call. Export through the TableData.grid property can further materialize the oversized grid. This issue is fixed in 2.131.0.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • docling-project docling

    From 2.0.0 · fixed in 2.131.0

  • docling-project docling-slim

    From 2.92.0 · fixed in 2.131.0

  • doclingPyPI

    From 2.0.0 · fixed in 2.131.0

  • docling-slimPyPI

    From 2.92.0 · fixed in 2.131.0

References 4

GitHub · docling-project/docling