Skip to content
Heist/ feed
Back to feed
Medium

Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend

Type: advisorySources: OSV

Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.107.0 until 2.120.3, docling/backend/opendocument_backend.py uses the xlink:href attribute value of a draw:image element as a filesystem path when the referenced part is not found in the document archive. The _image_ref_from_odf_image function reads that attacker-controlled path without a scheme check, extraction-directory confinement, or the enable_local_fetch setting used by other backends. Readable files that Pillow can decode as images are embedded in converted output, and other existing paths can be distinguished through the attempted read. This issue is fixed in 2.120.3.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-105751
Confirmed fixed CVEs
Not specified
Updated in this feed
6 Nov 2026, 01:28 UTC · Revision 1

Source evidence

Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend

core-osv · Original source

Published 5 Oct 2026, 21:40 UTC

Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.107.0 until 2.120.3, docling/backend/opendocument_backend.py uses the xlink:href attribute value of a draw:image element as a filesystem path when the referenced part is not found in the document archive. The _image_ref_from_odf_image function reads that attacker-controlled path without a scheme check, extraction-directory confinement, or the enable_local_fetch setting used by other backends. Readable files that Pillow can decode as images are embedded in converted output, and other existing paths can be distinguished through the attempted read. This issue is fixed in 2.120.3.

osv:CVE-2026-105751
Complete source record
{
  "id": "146f92a1b9ff35f57c17f22270a7d50eb7d87dd11694072c0c37b4f9ab628ac2",
  "url": "https://osv.dev/vulnerability/CVE-2026-105751",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend",
    "summary": "Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.107.0 until 2.120.3, docling/backend/opendocument_backend.py uses the xlink:href attribute value of a draw:image element as a filesystem path when the referenced part is not found in the document archive. The _image_ref_from_odf_image function reads that attacker-controlled path without a scheme check, extraction-directory confinement, or the enable_local_fetch setting used by other backends. Readable files that Pillow can decode as images are embedded in converted output, and other existing paths can be distinguished through the attempted read. This issue is fixed in 2.120.3.",
    "evidence": "osv:CVE-2026-105751",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-105751",
      "aliases": [
        "CVE-2026-105751",
        "GHSA-4xhp-xg4w-8ppm",
        "PYSEC-2026-4207"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:L/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/docling-project/docling",
              "type": "GIT",
              "events": [
                {
                  "introduced": "2147370b5a2611ffb93ed636210c015cf67ffafd"
                },
                {
                  "fixed": "46a1103b8c4adc6bbde1e30ec48fd0f7142d5600"
                },
                {
                  "fixed": "6ee9965adfc364b3696a67c825ec2f0d9cee4311"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:docling:docling:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.107.0"
                      },
                      {
                        "fixed": "2.120.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "6ee9965adfc364b3696a67c825ec2f0d9cee4311"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "46a1103b8c4adc6bbde1e30ec48fd0f7142d5600"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.120.3"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.120.2",
            "v2.120.1",
            "v2.120.0",
            "v2.119.0",
            "v2.118.1",
            "v2.118.0",
            "v2.117.0",
            "v2.116.0",
            "v2.115.0",
            "v2.114.0",
            "v2.113.0",
            "v2.112.0",
            "v2.111.0",
            "v2.110.0",
            "v2.109.0",
            "v2.108.0",
            "v2.107.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-105751.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:45.632209101Z",
      "provider": "osv",
      "references": [
        "https://github.com/docling-project/docling/releases/tag/v2.120.3",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105751.json",
        "https://github.com/docling-project/docling/security/advisories/GHSA-4xhp-xg4w-8ppm",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-105751",
        "https://github.com/docling-project/docling/commit/6ee9965adfc364b3696a67c825ec2f0d9cee4311",
        "https://github.com/docling-project/docling/pull/4015"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105751.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-105751",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 513860,
  "published_at": "2026-10-05T21:40:45.997+00:00"
}