CVE-2026-105744: Docling arbitrary file read/write in LaTeX TikZ rendering

CVE-2026-105744 · Severity: high · CVSS 7.5 · Published 2026-10-05

Docling is a library that parses documents in multiple formats and integrates with AI systems. When users enable TikZ rendering via Tectonic, the library fails to restrict dangerous TeX primitives, allowing an attacker who supplies a crafted document to read arbitrary files accessible to the converter process or write/overwrite files on disk. Enabling shell escape amplifies this to arbitrary command execution.

Technologies: Docling Project Docling, docling (PyPI), docling-slim (PyPI). Vendors: Docling Project, PyPI.

Quick answers

Is CVE-2026-105744 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-105744 being exploited in the wild.
How severe is CVE-2026-105744?
High severity, with a CVSS score of 7.5, published 5 October 2026.
Which products and versions are affected?
Docling Project Docling 2.94.0 through 2.131.x; docling (PyPI) >= 2.94.0, < 2.132.0, ECOSYSTEM:introduced=2.94.0,fixed=2.132.0; docling-slim (PyPI) >= 2.94.0, < 2.132.0, ECOSYSTEM:introduced=2.94.0,fixed=2.132.0.
Is there a fix for CVE-2026-105744?
Yes. docling (PyPI): upgrade to 2.132.0 or later; docling-slim (PyPI): upgrade to 2.132.0 or later. Until then: Do not enable Tectonic TikZ rendering (LatexBackendOptions(tikz_engine="tectonic")) when processing untrusted documents, or deploy the converter in an isolated environment with restricted file system access. If shell escape must be used, explicitly set tikz_engine_allow_shell_escape=False.</anigation> <parameter name="timeline">[{"kind":"disclosed","at":"2026-10-05"},{"kind":"patched","at":"2026-09-29","note":"fix committed; version 2.132.0 released"}] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-105744 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-105744?
Check whether you run Docling Project Docling, docling (PyPI) or docling-slim (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

  • docling (PyPI): upgrade to 2.132.0 or later
    pip install "docling>=2.132.0"
  • docling-slim (PyPI): upgrade to 2.132.0 or later
    pip install "docling-slim>=2.132.0"

Do not enable Tectonic TikZ rendering (LatexBackendOptions(tikz_engine="tectonic")) when processing untrusted documents, or deploy the converter in an isolated environment with restricted file system access. If shell escape must be used, explicitly set tikz_engine_allow_shell_escape=False.</anigation> <parameter name="timeline">[{"kind":"disclosed","at":"2026-10-05"},{"kind":"patched","at":"2026-09-29","note":"fix committed; version 2.132.0 released"}]

Technical details

The vulnerability exists in the Tectonic LaTeX engine backend (docling/backend/latex/engines/tectonic.py) when LatexBackendOptions(tikz_engine="tectonic") is enabled. Untrusted TikZ body and document preamble are compiled without filtering TeX file primitives such as \openin and \openout, enabling file I/O operations. An attacker-controlled document can read files in the converter's context and create/overwrite writable files; the tikz_engine_allow_shell_escape option further permits shell command execution. The default configuration does not use Tectonic rendering and is unaffected.

Affected products

  • Docling Project Docling 2.94.0 through 2.131.x

Identifiers

  • CVE-2026-105744
  • GHSA-x3q2-h9hx-4r4j
  • PYSEC-2026-4191
  • PYSEC-2026-4216

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.