docling
Get your documents ready for gen AI
Activity
- Latest release
- 23h ago
- Total releases
- 234
- Cadence
- ~2 days
- Last 12 months
- 99
Reach
- Stars
- 69.8k
Details
- License
- MIT
- First release
- Jul 15, 2024
| Version | Released | |
|---|---|---|
2.144.0
minor
| ||
2.143.1
patch
| ||
2.143.0
minor
| ||
2.142.1
patch
| ||
2.142.0
minor
| ||
2.141.0
minor
| ||
2.140.0
minor
| ||
2.139.0
minor
| ||
2.138.0
minor
| ||
2.137.0
minor
| ||
2.136.0
minor
| ||
2.135.0
minor
| ||
2.134.0
minor
| ||
2.133.0
minor
| ||
2.132.0
minor
| ||
2.131.0
minor
3 CVEs
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev | ||
2.130.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.129.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.128.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.127.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.126.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.125.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.124.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.123.1
patch
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.123.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.122.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.121.0
minor
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.120.3
patch
8 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.120.2
patch
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.120.1
minor
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.119.0
minor
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.118.1
patch
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.118.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.117.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.116.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.115.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.114.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.113.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.112.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.111.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.110.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.109.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.108.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.107.0
minor
10 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105751
PYSEC-2026-4207
GHSA-4xhp-xg4w-8ppm
Oct 15, 2026
Docling: Arbitrary local file read via draw:image xlink:href in the OpenDocument backend
High
Network
Low
None
SummaryThe ODF backend resolves the Converting a crafted Both the read and the disclosure are confirmed by execution. The trigger is a 452-byte archive containing two entries. Affected component
The only filter on the way in is The backend does not use the project's own fetch controls
Nothing. The HTML, Markdown, EPUB and XBRL backends all resolve image resources through
That is the substance of the report: the control exists, it is off by default, and this backend does not reach it. Affected versionsIntroduced by commit Affected: Subsequent commits touching this file — Reproduced on two independent machines: | | |
|---|---|
| Python 3.12.3 | Proof of conceptTriggerAn
With the fixed archive timestamp above the artifacts are byte-reproducible: | File | Bytes | sha256 |
|---|---|---|
| Without the fixed timestamp the archive size varies by a few bytes with the length of the Conversion — public API, default install, no options set
The read itself is observed with A self-contained script, Output — disclosure
The canary is written outside the working tree and is never placed inside the archive. The sha256 of the base64-decoded image in the export matches the source file exactly. The control is the ordinary ODF convention, Output — read of a non-image pathThe read happens before any decoding is attempted, so it is not confined to image files.
Both conversions report success. Only the existing path is opened. Nothing in the conversion result distinguishes the two cases, so the difference is usable as a silent file-existence oracle against arbitrary paths. ImpactConfirmed by execution, default install, no options set:
Not demonstrated, and stated as such. I have not tested this behind Affected versions
2.107.0
2.108.0
2.109.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
+ 4 more Show less
2.118.1
2.119.0
2.120.1
2.120.2
Fixed in
2.120.3
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.106.0
minor
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.105.0
minor
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.104.0
minor
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.103.0
minor
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.102.2
patch
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev | ||
2.102.1
patch
9 CVEs
CVE-2026-105748
PYSEC-2026-4208
GHSA-p944-4xh2-x776
PYSEC-2026-4213
Oct 15, 2026
Docling: Crafted DoclingDocument JSON embeds local image files into converted output
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
Low
None
None
Summarydocling accepts serialized Details
Only files that PIL can decode as an image are disclosed. Other files, such as text files or keys, fail to decode and are not embedded. The different error behaviour does reveal whether a path exists. ImpactDisclosure of image files readable by the converting process (for example other users' uploads or page images in a shared service), and disclosure of whether a local path exists. Proof of concept
PatchesFixed in docling 2.131.0 by #4417. The Docling JSON backend now drops image references that point at local files (paths, Code that loads untrusted JSON directly with docling-core ( WorkaroundsUpgrade to 2.131.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 132 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.16.0
2.17.0
2.18.0
2.19.0
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105742
GHSA-p3fw-7699-7926
PYSEC-2026-4189
PYSEC-2026-4212
Oct 07, 2026
Docling: Configured HTTP headers sent to every remote image host named by a document
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Summary
Details
Affected configurations
ImpactDisclosure of the configured request headers, typically credentials, to a host chosen by the document author. Proof of concept
Converting this file with Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c. PatchesFixed in docling 2.132.0 by #4420. Configured headers are now sent only to the origin of the source document, checked on every redirect hop, and no longer to other hosts named by the document. WorkaroundsUpgrade to 2.132.0. For older versions: Do not set Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 32 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105743
GHSA-pc36-qwjq-x68c
PYSEC-2026-4190
PYSEC-2026-4214
Oct 07, 2026
Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
4.0
/ 10
Medium
Network
High
None
None
Changed
Low
None
None
SummaryWhen remote fetching is enabled (
Details
JavaScript is disabled during rendering, so the browser path can only show internal responses passively in the page screenshot. It cannot read them and send them elsewhere. Affected configurations
The main-URL fetch for ImpactRequests from the converting host to internal services such as cloud metadata endpoints and loopback services. Response content is exposed only when it decodes as an image or is rendered into the page screenshot. PatchesFixed in docling 2.132.0 by #4420. The image loader now resolves the host once, requires every resolved address (IPv4 and IPv6, including IPv4-mapped, 6to4 and NAT64 forms) to be globally routable, and connects to one of the validated addresses, using the same parsed host for the check and the connection. Remote requests made during HTML browser rendering are downloaded by the same loader, and the browser itself stays offline. When a proxy is configured through environment variables, requests go through the proxy, which is then responsible for filtering destinations. WorkaroundsUpgrade to 2.132.0. For older versions: Keep Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 36 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105744
GHSA-x3q2-h9hx-4r4j
PYSEC-2026-4191
PYSEC-2026-4216
Oct 07, 2026
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
7.5
/ 10
High
Network
High
None
Required
Unchanged
High
High
High
SummaryWhen the LaTeX backend is configured to render TikZ pictures with the Tectonic engine ( Details
Separately, the Affected configurations
ImpactDisclosure of local files readable by the process, and creation or overwrite of files writable by the process. Writing to startup or configuration files can lead to code execution. With shell escape enabled, commands run directly. Proof of concept
Converting this file with PatchesMitigated in docling 2.132.0 by #4419:
This check is best-effort. It reads the source text, and TeX can open files in ways a text check cannot see, for example through package commands or names built by macros. As documented in the pipeline options reference, untrusted LaTeX rendered with WorkaroundsUpgrade to 2.132.0. For older versions:
Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 33 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.131.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.132.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105749
GHSA-cgc7-9qp3-86m3
PYSEC-2026-4195
PYSEC-2026-4211
Oct 07, 2026
Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
SummaryThe HTML, JATS, ODS (OpenDocument spreadsheet) and BoxNote backends accept table Details
Measured on 2.130.0: a 54-byte HTML file with ImpactDenial of service of the converting process from a very small input document. Confidentiality and integrity are not affected. Proof of concept
PatchesFixed in docling 2.131.0 by #4414. Table spans are clamped to the HTML limits (colspan 1000, rowspan 65534) and to the actual size of the table in the HTML, JATS, BoxNote and OpenDocument spreadsheet backends, so conversion time and memory grow with the real table only. WorkaroundsUpgrade to 2.131.0. For older versions: Run conversions of untrusted documents in a separate process with memory and CPU-time limits, or restrict Affected versions
2.0.0
2.1.0
2.10.0
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
+ 159 more Show less
2.107.0
2.108.0
2.109.0
2.11.0
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.12.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.13.0
2.130.0
2.14.0
2.15.0
2.15.1
2.16.0
2.17.0
2.18.0
2.19.0
2.2.0
2.2.1
2.20.0
2.21.0
2.22.0
2.23.0
2.23.1
2.24.0
2.25.0
2.25.1
2.25.2
2.26.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.3.0
2.3.1
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.4.0
2.4.1
2.4.2
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.5.0
2.5.1
2.5.2
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.6.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.7.0
2.7.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.8.0
2.8.1
2.8.2
2.8.3
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.9.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105745
GHSA-9jxx-vjrv-h2rq
PYSEC-2026-4192
PYSEC-2026-4210
Oct 07, 2026
Docling imports plugin entry points before the allow_external_plugins check
6.7
/ 10
Medium
Local
High
Low
Required
Unchanged
High
High
High
Summary
DetailsIn Affected configurationsEnvironments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on ImpactExecution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of PatchesFixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with WorkaroundsUpgrade to 2.131.0. For older versions: Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 118 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.27.0
2.28.0
2.28.1
2.28.2
2.28.3
2.28.4
2.29.0
2.30.0
2.31.0
2.31.1
2.31.2
2.32.0
2.33.0
2.34.0
2.35.0
2.36.0
2.36.1
2.37.0
2.38.0
2.38.1
2.39.0
2.40.0
2.41.0
2.42.0
2.42.1
2.42.2
2.43.0
2.44.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105747
GHSA-3cr3-8m4c-fpxw
PYSEC-2026-4194
PYSEC-2026-4209
Oct 06, 2026
Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
4.3
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
Low
SummaryWhen docling detects the input format of a gzip-compressed tar archive (METS-GBS), and later when the METS-GBS backend opens it, it calls Details
Measured on Python 3.12: an archive of 1,000,000 empty members compresses to about 6.2 MB and makes This check was introduced by the fix for CVE-2026-44018 (GHSA-r3xg-rg9j-67fv) in 2.91.0. The eager enumeration it relies on has been there since METS-GBS detection was added in 2.45.0. ImpactMemory exhaustion of the converting process, proportional to the size of the input archive. Confidentiality and integrity are not affected. PatchesFixed in docling 2.131.0 by #4412. Format detection and the METS-GBS backend now read archive members one at a time and stop as soon as WorkaroundsUpgrade to 2.131.0. For older versions: Reject gzip or tar inputs before they reach docling when METS-GBS support is not needed, and run conversions of untrusted input with memory limits. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 90 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.45.0
2.46.0
2.47.0
2.47.1
2.48.0
2.49.0
2.50.0
2.51.0
2.52.0
2.53.0
2.54.0
2.55.0
2.55.1
2.56.0
2.56.1
2.57.0
2.58.0
2.59.0
2.60.0
2.60.1
2.61.0
2.61.1
2.61.2
2.62.0
2.63.0
2.64.0
2.64.1
2.65.0
2.66.0
2.67.0
2.68.0
2.69.0
2.69.1
2.70.0
2.71.0
2.72.0
2.73.0
2.73.1
2.74.0
2.75.0
2.76.0
2.77.0
2.78.0
2.79.0
2.80.0
2.81.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105750
GHSA-q43m-vhcp-mhvm
PYSEC-2026-4196
PYSEC-2026-4215
Oct 06, 2026
Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
5.9
/ 10
Medium
Network
High
None
None
Unchanged
High
None
None
SummaryWhen the HTML backend renders pages in a headless browser ( DetailsIn render mode, Playwright requests are filtered by
Versions 2.82.0–2.90.x did no request filtering in render mode at all. The browser runs with JavaScript disabled (from 2.91.0), so disclosure is passive: only what Chromium renders visibly inside the page viewport ends up in the page image. Only ImpactAn attacker who can submit HTML for conversion can read any text file the conversion process can read (for example Only applications that meet all of these conditions are affected:
The following are not affected: the default configuration ( PatchesFixed in 2.118.1 (#3948). In render mode, WorkaroundsIf you can't upgrade, don't use CreditsReported by @priyankn. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 28 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.82.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.118.1
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-105746
PYSEC-2026-4193
GHSA-h42j-9hcc-3cwc
Oct 05, 2026
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
Low
None
None
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.83.0 until 2.131.0, the KServeV2OcrModel class defined in docling/models/stages/ocr/kserve_v2_ocr_model.py sends page images to its configured endpoint without checking the pipeline_options.enable_remote_services setting, even when the caller sets that policy control to false. The StandardPdfPipeline._make_ocr_model method also fails to pass the flag into the OCR factory, allowing remote OCR processing in configurations that rely on remote services being disabled. The destination is configured by the caller rather than selected by an attacker. This issue is fixed in 2.131.0. Affected versions
2.100.0
2.101.0
2.102.0
2.102.1
2.102.2
2.103.0
2.104.0
2.105.0
2.106.0
2.107.0
2.108.0
2.109.0
+ 43 more Show less
2.110.0
2.111.0
2.112.0
2.113.0
2.114.0
2.115.0
2.116.0
2.117.0
2.118.0
2.118.1
2.119.0
2.120.1
2.120.2
2.120.3
2.121.0
2.122.0
2.123.0
2.123.1
2.124.0
2.125.0
2.126.0
2.127.0
2.128.0
2.129.0
2.130.0
2.83.0
2.84.0
2.85.0
2.86.0
2.87.0
2.88.0
2.89.0
2.90.0
2.91.0
2.92.0
2.93.0
2.94.0
2.95.0
2.96.0
2.96.1
2.97.0
2.98.0
2.99.0
Fixed in
2.131.0
References Updated Oct 08, 2026 · Source: OSV.dev |