CVE-2026-105751: Docling arbitrary filesystem read via unvalidated xlink:href in ODF images

CVE-2026-105751 · Severity: medium · CVSS 4 · Published 2026-10-05

Docling is a document processing library that converts diverse file formats including OpenDocument files. A vulnerability in versions before 2.120.3 allows attackers to read arbitrary files from the server by crafting malicious ODF documents with specially crafted image references, potentially exposing sensitive data like configuration files or credentials.

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

Quick answers

Is CVE-2026-105751 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-105751 being exploited in the wild.
How severe is CVE-2026-105751?
Medium severity, with a CVSS score of 4, published 5 October 2026.
Which products and versions are affected?
Docling Project Docling 2.107.0 to 2.120.2; docling (PyPI) >= 2.107.0, < 2.120.3, ECOSYSTEM:introduced=2.107.0,fixed=2.120.3.
Is there a fix for CVE-2026-105751?
Yes. docling (PyPI): upgrade to 2.120.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-105751 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-105751?
Check whether you run Docling Project Docling 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

  • docling (PyPI): upgrade to 2.120.3 or later
    pip install "docling>=2.120.3"

Technical details

The _image_ref_from_odf_image function in opendocument_backend.py treats the xlink:href attribute of draw:image elements as filesystem paths without validation when the referenced part is not found in the archive. An attacker can craft an ODF document with xlink:href pointing to arbitrary filesystem paths; if the file is readable and Pillow can decode it as an image, its contents are embedded in the output, or path existence can be inferred through read attempts. This bypasses the enable_local_fetch security setting used by other backends.

Affected products

  • docling-project Docling 2.107.0 to 2.120.2

Identifiers

  • CVE-2026-105751
  • GHSA-4xhp-xg4w-8ppm
  • PYSEC-2026-4207

Timeline

  • 2026-10-05: disclosed
  • 2026-08-18: patched: Fix commit merged to main branch

References

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