CVE-2026-71428 unstructured: Server-Side Request Forgery in the URL-based partitioning
Attackers can exploit unstructured library to perform Server-Side Request Forgery, accessing internal services and cloud metadata via crafted URLs.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-71428?
CVE-2026-71428 is a critical server-side request forgery vulnerability in Unstructured-IO unstructured, published on 20 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Which versions are affected by CVE-2026-71428?
3 open source packages ship an affected version, including unstructured.
| Package | Affected | Fixed in |
|---|---|---|
unstructured PyPI | From 0.4.7 | 0.24.0 |
unstructured PyPI | From 0.4.7 | 0.24.0 |
unstructured PyPI | From 0.4.7 | 0.24.0 |
How do I fix CVE-2026-71428?
Upgrade unstructured to 0.24.0 or later.
Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.
Is CVE-2026-71428 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-71428 exists.
Sources
Also known as GHSA-4mvj-m6j5-pmf7, PYSEC-2026-3930.