CVE-2026-71428 json
unstructured: Server-Side Request Forgery in the URL-based partitioning
published 2026-08-20 2 mo ago modified 2026-10-18 21 d ago also GHSA-4mvj-m6j5-pmf7 , PYSEC-2026-3930 , EUVD-2026-63472
- cvss
- 9.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 38%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi unstructured 0.24.0
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.44% chance of exploitation in the next 30 days, higher than 38% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N |
| GitHub | 3.1 | 9.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N |
| OSV | 3.1 | 9.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | unstructured | >=0.4.7, <0.24.0 |
0.24.0 |
Affected products
- Unstructured-IO unstructured
Classification
References
-
github.com
/Unstructured-IO/unstructured/pull/4388
web
-
github.com
/Unstructured-IO/unstructured/commit/445c95735c4045057f51f399bc04c657751923bd
web
-
github.com
/Unstructured-IO/unstructured/security/advisories/GHSA-4mvj-m6j5-pmf7
web
-
github.com
/Unstructured-IO/unstructured/releases/tag/0.24.0
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-71428
advisory
-
github.com
/Unstructured-IO/unstructured
package
-
pypi.org
/project/unstructured
package
-
github.com
/advisories/GHSA-4mvj-m6j5-pmf7
advisory
Sources
- CVE List CVE-2026-71428
- GitHub Advisory GHSA-4mvj-m6j5-pmf7
- NVD CVE-2026-71428
- OSV PYSEC-2026-3930
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.