Patch Forecast
Yellow warning
Plan into this sprint.

CVE-2026-105749 · GHSA-cgc7-9qp3-86m3

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

Risk score
52/100
CVSS
6.5 v3.1
Exploit chance (30 days)
0.3%
Published
5 Oct 2026

Open in the live forecast Today's forecast

What to know

What it is
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/boxnot…
Affected
docling (pip) >= 2.0.0, < 2.131.0; docling-slim (pip) >= 2.92.0, < 2.131.0
Fix
Upgrade docling to 2.131.0; docling-slim to 2.131.0 or later.
Exploitation
Public proof of concept

Story map

Story map: doclingTHE FLAWSTHE FIXCVE-2026-105749Docling: Unbounded tablerowspan/colspan in HTML,JATS, ODS and BoxNote…CVSS 6.5 · EPSS 0%CVE-2026-105744Docling has arbitrary fileread/write (and commandexecution when shell-escape is…CVSS 8.8 · EPSS 0%CVE-2026-105751Docling: Arbitrary local fileread via draw:image xlink:hrefin the OpenDocument backendCVSS 7.5 · EPSS 0%CVE-2026-105750Docling: `enable_local_fetch` isnot enforced in HTMLbrowser-rendering modeCVSS 7.5 · EPSS 0%Upgrade docling2.131.0 · 2.132.0 · 2.120.3 ·2.118.1or later on your release lineWho is exposeddocling (pip) >= 2.94.0, <2.132.0; docling-slim (pip) >=2.94.0, < 2.132.0AMBER · PATCH THIS WEEKdoclingDocling simplifies documentprocessing by parsing diverseformats and providingintegrations with the generativeAI ecosystem. From 2.94.0 until2.132.0, callers that opt intoLatexBackendOptions(tikz_engi…Where it standsPublic proof of conceptCONNECTS TOSame weaknessDenial of service (CWE-400)253 other warnings in 30 days →Same productEarlier docling warnings6 in the last 90 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

docling: Amber, patch this week. Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.94.0 until 2.132.0, callers that opt into LatexBackendOptions(tikz_engine="tectonic") invoke docling/backend/latex/engines/tectonic.py to compile an untrusted TikZ body and document pre…

The flaws

  • CVE-2026-105749: Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion (CVSS 6.5 · EPSS 0%)
  • CVE-2026-105744: Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine (CVSS 8.8 · EPSS 0%)
  • CVE-2026-105751: Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend (CVSS 7.5 · EPSS 0%)
  • CVE-2026-105750: Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode (CVSS 7.5 · EPSS 0%)

The fix

Upgrade docling: 2.131.0 · 2.132.0 · 2.120.3 · 2.118.1 or later on your release line

Who is exposed: docling (pip) >= 2.94.0, < 2.132.0; docling-slim (pip) >= 2.94.0, < 2.132.0

Where it stands

  • Public proof of concept

Connects to

Why it is Yellow

  • CVSS 6.5 medium
  • Public exploit or proof of concept referenced
  • On your watchlist: PyPI

Affected packages

PackageEcosystemVulnerableFixed in
doclingpip>= 2.0.0, < 2.131.02.131.0
docling-slimpip>= 2.92.0, < 2.131.02.131.0

References

Original description

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.

Last activity 5 Oct 2026. Patch Forecast updates every hour.