{"api_version":"1","generated_at":"2026-10-06T02:03:39+00:00","cve":"CVE-2026-105743","urls":{"html":"https://cve.report/CVE-2026-105743","api":"https://cve.report/api/cve/CVE-2026-105743.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-105743","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-105743"},"summary":{"title":"Docling: SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)","description":"Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.91.0 until 2.132.0, validate_url_safety in docling/backend/utils/image_resource_loader.py validates a hostname with a single IPv4 lookup and then allows the HTTP client to resolve and parse the original URL again, permitting DNS rebinding, mixed public and internal address records, and backslash authority parser disagreement to reach internal services. HTMLBackendOptions(render_page=True) also allows HTTP and HTTPS browser requests without validating their resolved destination. Exploitation requires remote fetching to be enabled, and response content is exposed only when it is decoded as an image or passively rendered in a page screenshot. This issue is fixed in 2.132.0.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-05 22:16:57","updated_at":"2026-10-05 22:16:57"},"problem_types":["CWE-367","CWE-918","CWE-367 CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition","CWE-918 CWE-918: Server-Side Request Forgery (SSRF)"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N","baseScore":4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":4,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/docling-project/docling/releases/tag/v2.132.0","name":"https://github.com/docling-project/docling/releases/tag/v2.132.0","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/docling-project/docling/pull/4420","name":"https://github.com/docling-project/docling/pull/4420","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/docling-project/docling/commit/5e469137f275ffc443306a30d12a3a45bceb80fb","name":"https://github.com/docling-project/docling/commit/5e469137f275ffc443306a30d12a3a45bceb80fb","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/docling-project/docling/security/advisories/GHSA-pc36-qwjq-x68c","name":"https://github.com/docling-project/docling/security/advisories/GHSA-pc36-qwjq-x68c","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-105743","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-105743","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"docling-project","product":"docling","version":"affected >= 2.91.0, < 2.132.0","platforms":[]},{"source":"CNA","vendor":"docling-project","product":"docling-slim","version":"affected >= 2.91.0, < 2.132.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"docling","vendor":"docling-project","versions":[{"status":"affected","version":">= 2.91.0, < 2.132.0"}]},{"product":"docling-slim","vendor":"docling-project","versions":[{"status":"affected","version":">= 2.91.0, < 2.132.0"}]}],"descriptions":[{"lang":"en","value":"Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.91.0 until 2.132.0, validate_url_safety in docling/backend/utils/image_resource_loader.py validates a hostname with a single IPv4 lookup and then allows the HTTP client to resolve and parse the original URL again, permitting DNS rebinding, mixed public and internal address records, and backslash authority parser disagreement to reach internal services. HTMLBackendOptions(render_page=True) also allows HTTP and HTTPS browser requests without validating their resolved destination. Exploitation requires remote fetching to be enabled, and response content is exposed only when it is decoded as an image or passively rendered in a page screenshot. This issue is fixed in 2.132.0."}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":4,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-367","description":"CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-918","description":"CWE-918: Server-Side Request Forgery (SSRF)","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-05T21:23:45.527Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/docling-project/docling/security/advisories/GHSA-pc36-qwjq-x68c","tags":["x_refsource_CONFIRM"],"url":"https://github.com/docling-project/docling/security/advisories/GHSA-pc36-qwjq-x68c"},{"name":"https://github.com/docling-project/docling/pull/4420","tags":["x_refsource_MISC"],"url":"https://github.com/docling-project/docling/pull/4420"},{"name":"https://github.com/docling-project/docling/commit/5e469137f275ffc443306a30d12a3a45bceb80fb","tags":["x_refsource_MISC"],"url":"https://github.com/docling-project/docling/commit/5e469137f275ffc443306a30d12a3a45bceb80fb"},{"name":"https://github.com/docling-project/docling/releases/tag/v2.132.0","tags":["x_refsource_MISC"],"url":"https://github.com/docling-project/docling/releases/tag/v2.132.0"}],"source":{"advisory":"GHSA-pc36-qwjq-x68c","discovery":"UNKNOWN"},"title":"Docling: SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-105743","datePublished":"2026-10-05T21:23:45.527Z","dateReserved":"2026-10-05T19:11:07.946Z","dateUpdated":"2026-10-05T21:23:45.527Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-05 22:16:57","lastModifiedDate":"2026-10-05 22:16:57","problem_types":["CWE-367","CWE-918","CWE-367 CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition","CWE-918 CWE-918: Server-Side Request Forgery (SSRF)"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N","baseScore":4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":2.2,"impactScore":1.4}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"105743","Ordinal":"1","Title":"Docling: SSRF guard bypass in remote resource fetching (DNS rebi","CVE":"CVE-2026-105743","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"105743","Ordinal":"1","NoteData":"Docling simplifies document processing by parsing diverse formats and providing integrations with the generative AI ecosystem. From 2.91.0 until 2.132.0, validate_url_safety in docling/backend/utils/image_resource_loader.py validates a hostname with a single IPv4 lookup and then allows the HTTP client to resolve and parse the original URL again, permitting DNS rebinding, mixed public and internal address records, and backslash authority parser disagreement to reach internal services. HTMLBackendOptions(render_page=True) also allows HTTP and HTTPS browser requests without validating their resolved destination. Exploitation requires remote fetching to be enabled, and response content is exposed only when it is decoded as an image or passively rendered in a page screenshot. This issue is fixed in 2.132.0.","Type":"Description","Title":"Docling: SSRF guard bypass in remote resource fetching (DNS rebi"}]}}}