{"api_version":"1","generated_at":"2026-10-06T02:03:31+00:00","cve":"CVE-2026-105744","urls":{"html":"https://cve.report/CVE-2026-105744","api":"https://cve.report/api/cve/CVE-2026-105744.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-105744","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-105744"},"summary":{"title":"Docling: Arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine","description":"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 preamble without restricting TeX file primitives including \\openin and \\openout. Crafted input can read files available to the converter and create or overwrite writable files, and enabling the tikz_engine_allow_shell_escape option additionally permits shell commands through TeX. The default configuration, which does not enable Tectonic rendering, is not affected. This vulnerability is fixed in 2.132.0.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-05 22:16:57","updated_at":"2026-10-05 22:16:57"},"problem_types":["CWE-22","CWE-73","CWE-1188","CWE-22 CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","CWE-73 CWE-73: External Control of File Name or Path","CWE-1188 CWE-1188: Insecure Default Initialization of Resource"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/docling-project/docling/commit/38b6fa0a465d46fdacbbec333f50fa19c4f6b342","name":"https://github.com/docling-project/docling/commit/38b6fa0a465d46fdacbbec333f50fa19c4f6b342","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/docling-project/docling/releases/tag/v2.132.0","name":"https://github.com/docling-project/docling/releases/tag/v2.132.0","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/docling-project/docling/pull/4419","name":"https://github.com/docling-project/docling/pull/4419","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/docling-project/docling/security/advisories/GHSA-x3q2-h9hx-4r4j","name":"https://github.com/docling-project/docling/security/advisories/GHSA-x3q2-h9hx-4r4j","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-105744","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-105744","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"docling-project","product":"docling","version":"affected >= 2.94.0, < 2.132.0","platforms":[]},{"source":"CNA","vendor":"docling-project","product":"docling-slim","version":"affected >= 2.94.0, < 2.132.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"docling","vendor":"docling-project","versions":[{"status":"affected","version":">= 2.94.0, < 2.132.0"}]},{"product":"docling-slim","vendor":"docling-project","versions":[{"status":"affected","version":">= 2.94.0, < 2.132.0"}]}],"descriptions":[{"lang":"en","value":"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 preamble without restricting TeX file primitives including \\openin and \\openout. Crafted input can read files available to the converter and create or overwrite writable files, and enabling the tikz_engine_allow_shell_escape option additionally permits shell commands through TeX. The default configuration, which does not enable Tectonic rendering, is not affected. This vulnerability is fixed in 2.132.0."}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-22","description":"CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-73","description":"CWE-73: External Control of File Name or Path","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-1188","description":"CWE-1188: Insecure Default Initialization of Resource","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-05T21:26:56.685Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/docling-project/docling/security/advisories/GHSA-x3q2-h9hx-4r4j","tags":["x_refsource_CONFIRM"],"url":"https://github.com/docling-project/docling/security/advisories/GHSA-x3q2-h9hx-4r4j"},{"name":"https://github.com/docling-project/docling/pull/4419","tags":["x_refsource_MISC"],"url":"https://github.com/docling-project/docling/pull/4419"},{"name":"https://github.com/docling-project/docling/commit/38b6fa0a465d46fdacbbec333f50fa19c4f6b342","tags":["x_refsource_MISC"],"url":"https://github.com/docling-project/docling/commit/38b6fa0a465d46fdacbbec333f50fa19c4f6b342"},{"name":"https://github.com/docling-project/docling/releases/tag/v2.132.0","tags":["x_refsource_MISC"],"url":"https://github.com/docling-project/docling/releases/tag/v2.132.0"}],"source":{"advisory":"GHSA-x3q2-h9hx-4r4j","discovery":"UNKNOWN"},"title":"Docling: Arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-105744","datePublished":"2026-10-05T21:26:56.685Z","dateReserved":"2026-10-05T19:11:07.946Z","dateUpdated":"2026-10-05T21:26:56.685Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-05 22:16:57","lastModifiedDate":"2026-10-05 22:16:57","problem_types":["CWE-22","CWE-73","CWE-1188","CWE-22 CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","CWE-73 CWE-73: External Control of File Name or Path","CWE-1188 CWE-1188: Insecure Default Initialization of Resource"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":1.6,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"105744","Ordinal":"1","Title":"Docling: Arbitrary file read/write (and command execution when s","CVE":"CVE-2026-105744","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"105744","Ordinal":"1","NoteData":"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 preamble without restricting TeX file primitives including \\openin and \\openout. Crafted input can read files available to the converter and create or overwrite writable files, and enabling the tikz_engine_allow_shell_escape option additionally permits shell commands through TeX. The default configuration, which does not enable Tectonic rendering, is not affected. This vulnerability is fixed in 2.132.0.","Type":"Description","Title":"Docling: Arbitrary file read/write (and command execution when s"}]}}}