CVE-2026-44019
Python vulnerability analysis and mitigation

Overview

CVE-2026-44019 is a high-severity vulnerability in docling-core titled "Insufficient validation of image reference URIs," affecting the document processing library used by the Docling application. In versions 2.5.0 through 2.74.0, docling-core fails to restrict local file:// image references and accepts inline data: content without a decoded-size limit, enabling file disclosure and denial-of-service conditions. The vulnerability was published on June 2, 2026, and patched in version 2.74.1. It carries a CVSS v3.1 base score of 8.1 (High) (Github Advisory).

Technical details

The root cause is insufficient validation of image reference URIs when processing untrusted input, classified under CWE-73 (External Control of File Name or Path) and CWE-400 (Uncontrolled Resource Consumption) (Github Advisory). An attacker can supply a crafted document or image reference containing a file:// URI pointing to sensitive local files readable by the application process, or a large data: URI payload that exhausts system memory due to the absence of a decoded-size limit. Exploitation requires user interaction — specifically, a user or application must process the attacker-supplied untrusted image reference. The fix in v2.74.1 blocks local file URIs by default and enforces a size limit on decoded inline image data (Release v2.74.1).

Impact

Successful exploitation can result in two distinct impacts: unauthorized access to local files readable by the application process (high confidentiality impact), and excessive memory consumption leading to denial of service from oversized inline image payloads (high availability impact). Integrity is not directly affected. In multi-tenant or server-side document processing deployments that accept untrusted input, this could expose sensitive configuration files, credentials, or other data accessible to the process, and could render the service unavailable through memory exhaustion (Github Advisory).

Exploitation steps

  1. Identify a target application: Locate a web application or service that uses docling-core versions 2.5.0–2.74.0 and accepts untrusted document or image references as input.
  2. Craft a malicious file:// reference: Construct a document or image reference payload containing a file:// URI pointing to a sensitive local file (e.g., file:///etc/passwd or file:///app/config/secrets.env) that the application process has read access to.
  3. Craft a malicious data: payload (DoS variant): Alternatively, construct a data: URI containing a very large base64-encoded payload to trigger excessive memory allocation during decoding.
  4. Submit the payload: Deliver the crafted reference through the application's document or image ingestion interface, inducing a user or automated pipeline to process it.
  5. Retrieve disclosed file contents: If exploiting the file disclosure path, observe the application's response or output for the contents of the targeted local file, which docling-core would have read and potentially embedded in processed output (Github Advisory).

Indicators of compromise

  • Logs: Application logs showing image reference URIs beginning with file:// or unusually large data: URIs being processed; errors related to memory limits or out-of-memory conditions during document processing.
  • File System: Unexpected access timestamps on sensitive local files (e.g., /etc/passwd, configuration files, credential stores) coinciding with document processing activity.
  • Process: Abnormal memory consumption by the docling-core process; process crashes or OOM-killer events on the host during document ingestion.
  • Network: Inbound documents or API requests containing file:// or data: image reference strings in payloads submitted to document processing endpoints.

Mitigation and workarounds

Upgrade docling-core to version 2.74.1 or later, which blocks local file:// URIs by default and enforces a decoded-size limit on inline data: image content (Release v2.74.1). If an immediate upgrade is not possible, apply the following workarounds: reject file: and data: image references from untrusted input at the application layer, allow only approved local or remote image sources via an allowlist, and apply input size and memory limits to document processing workers (Github Advisory).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-hmj8-5xmh-5573HIGH7.5
  • Python logoPython
  • libp2p
NoNoJul 24, 2026
GHSA-94p4-4cq8-9g67HIGH7.5
  • Python logoPython
  • gitpython
NoYesJul 24, 2026
GHSA-47w6-gwp4-w6vcHIGH7.1
  • Python logoPython
  • vantage6
NoNoJul 24, 2026
CVE-2026-59714HIGH7.1
  • Python logoPython
  • open-webui
NoYesJul 24, 2026
GHSA-464c-974j-9xm6LOW3.3
  • JavaScript logoJavaScript
  • @aws-cdk/aws-codebuild
NoYesJul 24, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management