Description
The unstructured library provides open-source components for ingesting and pre-processing images and text documents, such as PDFs, HTML, Word docs, and many more. From 0.4.7 until 0.24.0, the url argument of partition, partition_html, and partition_md is fetched without host validation in unstructured/partition/auto.py, unstructured/partition/html/partition.py, and unstructured/partition/md.py. An attacker who controls that URL can make a server-side ingestion service request loopback addresses, internal HTTP services, or cloud metadata endpoints through direct targets, redirects, or DNS rebinding. The response body is returned as Element text, allowing internal response disclosure, and side-effecting GET endpoints may also be triggered. This issue is fixed in version 0.24.0.
Published: 2026-08-20
Score: 9.3 Critical
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The unstructured library opens a severe vulnerability that permits a server‑side request forgery when the url parameter is given to the partition, partition_html, or partition_md functions. An attacker who can control the URL can cause the ingestion service to reach internal loopback or private network addresses, hit internal HTTP services, or access cloud metadata endpoints. The library returns the fetched response body as Element text, leaking internal data to the caller, and it also triggers any side‑effecting GET endpoints that the target may run. The result is a compromise of confidentiality, integrity, or availability of internal resources and data.

Affected Systems

Unstructured‑IO:unstructured is the impacted product. Versions from 0.4.7 up to (but not including) 0.24.0 contain the flaw. The fix was applied in release 0.24.0, which removes host validation for the url argument in the relevant modules.

Risk and Exploitability

The CVSS score of 9.3 demonstrates an extremely high severity rating, and the lack of an EPSS entry does not indicate low probability; the attack remains feasible for any system that exposes the unstructured library to input it does not fully trust. While the vulnerability is not listed in CISA’s KEV catalog, the combination of an unvalidated outbound request and the ability to read the response invites a broad range of potential attacks. An attacker who can supply a crafted URL to the ingestion service—either directly or via a higher‑level application—can exploit this flaw to proxy internal traffic, exfiltrate data, or trigger internal services. The risk is highest against services that process user‑supplied URLs without performing host validation or network restrictions.

Generated by OpenCVE AI on August 20, 2026 at 20:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the unstructured library to version 0.24.0 or later to apply the host validation fix.
  • If an upgrade is not yet possible, constrain the url input by enforcing a whitelist of approved domains before passing it to the partition functions.
  • Remove or disable the URL‑based ingestion capability from any service that processes untrusted input, especially when deployed inside a private network.
  • Implement network controls—such as firewall rules or proxy restrictions—to block outbound connections originating from the ingestion service to internal or non‑public IP ranges.

Generated by OpenCVE AI on August 20, 2026 at 20:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 20 Aug 2026 19:15:00 +0000

Type Values Removed Values Added
First Time appeared Unstructured-io
Unstructured-io unstructured
Vendors & Products Unstructured-io
Unstructured-io unstructured

Thu, 20 Aug 2026 17:00:00 +0000

Type Values Removed Values Added
Description The unstructured library provides open-source components for ingesting and pre-processing images and text documents, such as PDFs, HTML, Word docs, and many more. From 0.4.7 until 0.24.0, the url argument of partition, partition_html, and partition_md is fetched without host validation in unstructured/partition/auto.py, unstructured/partition/html/partition.py, and unstructured/partition/md.py. An attacker who controls that URL can make a server-side ingestion service request loopback addresses, internal HTTP services, or cloud metadata endpoints through direct targets, redirects, or DNS rebinding. The response body is returned as Element text, allowing internal response disclosure, and side-effecting GET endpoints may also be triggered. This issue is fixed in version 0.24.0.
Title unstructured: Server-Side Request Forgery in the URL-based partitioning
Weaknesses CWE-601
CWE-918
References
Metrics cvssV3_1

{'score': 9.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N'}


Subscriptions

Unstructured-io Unstructured
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-20T16:43:01.306Z

Reserved: 2026-08-06T16:28:51.182Z

Link: CVE-2026-71428

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-20T17:19:40.773

Modified: 2026-08-20T17:19:40.773

Link: CVE-2026-71428

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T20:30:05Z

Weaknesses
  • CWE-601

    URL Redirection to Untrusted Site ('Open Redirect')

  • CWE-918

    Server-Side Request Forgery (SSRF)