Skip to main content

unstructured CVE-2026-71428

| EUVDEUVD-2026-63472 CRITICAL
URL Redirection to Untrusted Site (Open Redirect) (CWE-601)
2026-08-20 GitHub_M GHSA-4mvj-m6j5-pmf7
9.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit URL-based ingestion request
  2. Delivery
    Supply loopback/internal/metadata URL
  3. Exploit
    Server fetches without host validation
  4. Execution
    Bypass filters via redirect or DNS rebinding
  5. Persist
    Internal response returned as Element text
  6. Impact
    Exfiltrate 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 url= argument of partition(), partition_html(), or partition_md() on an affected version (0.4.7 to <0.24.0) - typical of server-side or SaaS ingestion/RAG services that accept 'ingest from URL' requests. No authentication or user interaction is needed at the library level (PR:N/UI:N), and default configurations perform no host validation. Limiting factors: it is only exploitable where untrusted URLs reach these functions (purely local file ingestion is not exposed), the returned data is limited to GET-fetchable content, and the server must have network reachability to the internal/metadata target for disclosure to be useful.

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 url= parameter to untrusted input.

Exploit ScenarioDerived

An attacker submits a document-ingestion job to a hosted service built on unstructured, supplying url=http://169.254.169.254/latest/meta-data/iam/security-credentials/ (or an internal admin endpoint). The server fetches it without validation and returns the response body as Element text, disclosing cloud IAM credentials or internal service data; DNS rebinding or redirects bypass naive host checks. No public POC is identified, but the AV:N/AC:L/PR:N profile makes exploitation straightforward wherever the url parameter is externally reachable.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

unstructured 0.4.7, < 0.24.0

Affected Packages

pypi unstructured fix: 0.24.0

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

Vendor (GitHub_M) PRIMARY 9.3 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
vuln.today AI 9.3 CRITICAL

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).

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Aug 20, 2026 - 17:02 EUVD
CVE Published
Aug 20, 2026 - 16:43 cve.org
CRITICAL 9.3

DescriptionCVE.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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 83% exploitable
Prevalence
Medium
popular open-source document-ingestion library in AI/RAG pipelines, not universally deployed
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Social Media
3
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

66
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy