Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit URL-based ingestion request
-
DeliverySupply loopback/internal/metadata URL
-
ExploitServer fetches without host validation
-
ExecutionBypass filters via redirect or DNS rebinding
-
PersistInternal response returned as Element text
-
ImpactExfiltrate credentials or internal data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the deployment pass attacker-influenced input into the |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N, 9.3) indicates network-reachable, low-complexity, unauthenticated exploitation with a scope change and high confidentiality impact - consistent with SSRF that reaches internal systems distinct from the vulnerable host. The I:L reflects side-effecting GET requests to internal endpoints, and A:N is appropriate since there is no direct availability impact. Real-world risk is gated by exposure: the danger is high specifically for deployments that accept untrusted URLs into partition functions (e.g., SaaS document-ingestion or RAG services), and lower for local/batch use of trusted files. No EPSS score, KEV entry, or public POC is provided, so the 9.3 should be read as high potential severity rather than confirmed mass exploitation - organizations running URL-accepting ingestion services should nonetheless treat it as urgent given cloud-metadata credential theft is a well-trodden SSRF outcome. Absent EPSS and KEV data, prioritization should be driven by whether your deployment actually exposes the |
| Exploit ScenarioDerived | An attacker submits a document-ingestion job to a hosted service built on unstructured, supplying |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 20, 2026
Server-side request forgery in the Unstructured-IO unstructured library (0.4.7 through versions before 0.24.0) lets an attacker who controls the url= argument of partition(), partition_html(), or partition_md() coerce a server-side ingestion service into fetching loopback, internal, or cloud-metadata endpoints, with the response returned as Element text. Because ingestion pipelines commonly accept user-supplied URLs, unauthenticated remote abuse is realistic (CVSS 9.3). No public exploit identified at time of analysis; the flaw is fixed in 0.24.0 via a centralized fetch helper.
RemediationAI
Vendor-released patch: upgrade to unstructured 0.24.0 or later, which routes all url= fetches through the new unstructured/safe_http.py helper (PR #4388, commit 445c95735c4045057f51f399bc04c657751923bd). Note the deliberate behavior change: URLs resolving to non-routable, loopback, or link-local addresses are rejected by default, and controlled local usage must explicitly opt back in via UNSTRUCTURED_ALLOW_PRIVATE_URL=1 or allow_private=True. If immediate upgrade is not possible, do not pass untrusted input to the url= argument of partition/partition_html/partition_md - instead download content through your own vetted fetcher that enforces a scheme allowlist and blocks RFC1918/loopback/link-local and 169.254.169.254 metadata ranges, and run the ingestion service with egress firewall rules denying access to internal subnets and the cloud metadata endpoint (trade-off: egress filtering can break legitimate internal fetches and does not stop DNS-rebinding without connect-time revalidation). Refer to advisory GHSA-4mvj-m6j5-pmf7 for details.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The unstructured library ingests and pre-processes documents (PDF, HTML, Word, Markdown, etc.) and is widely used to feed RAG and LLM pipelines. The affected code paths in unstructured/partition/auto.py, unstructured/partition/html/partition.py, and unstructured/partition/md.py performed ad-hoc requests.get calls on the caller-supplied url= value with no scheme allowlist, no hostname/address validation, and no redirect re-validation. The advisory tags label this CWE-601 (Open Redirect), but the described behavior - a server fetching attacker-chosen internal targets and disclosing the response - is functionally server-side request forgery (CWE-918); the CWE-601 mapping understates the SSRF nature. The 0.24.0 fix introduces unstructured/safe_http.py, which enforces an http/https allowlist, an IDNA-normalized hostname denylist, connect-time address validation, per-hop manual redirect re-validation (dropping credentials on cross-origin hops), proxy refusal, and timeouts.
Know when Unstructured gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
Attacker-supplied URL is fetched by the server with no auth or interaction (AV:N/AC:L/PR:N/UI:N); SSRF reaches systems beyond the vulnerable host (S:C) disclosing internal responses (C:H) and triggering side-effecting GETs (I:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Executive ViewAI
The Unstructured-IO library (versions 0.4.7 to 0.23.x) contains a critical vulnerability enabling unauthenticated remote access to internal systems and cloud credentials via externally-supplied document URLs. While no public exploit identified at time of analysis, this represents severe risk to organizations using the library in document ingestion pipelines. Mitigation requires upgrading to version 0.24.0 or later.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
More in Unstructured
View allThe unstructured Python library for document ingestion has a path traversal vulnerability allowing arbitrary file read/w
Stored cross-site scripting in the Unstructured-IO unstructured Python library before 0.24.1 allows unauthenticated remo
EUVD-2026-63472
GHSA-4mvj-m6j5-pmf7
NVD
CVE.org
EPSS
VulDB
Exploit-DB