CVE-2026-71428: unstructured: Server-Side Request Forgery in the URL-based partitioning

Published Aug 20, 2026
·
Updated

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, partitionhtml, and partitionmd 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.

Affected Software

1 affected component
unstructured>0.4.7<=0.24.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade unstructured to a version that resolves this vulnerability.

    Fixed in 0.24.0

Event History

Aug 20, 2026
CVE Published
via MITRE·04:43 PM
Data Sourced
via MITRE·04:43 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Deployments using unstructured versions from 0.4.7 through versions before 0.24.0 are exposed if they pass attacker-controlled URLs to partition, partition_html, or partition_md. A server-side ingestion service is particularly at risk because it can reach loopback, internal HTTP, or cloud metadata endpoints.

2

What does an attacker need to exploit this issue?

The attacker needs control over a URL supplied to one of the affected partitioning functions. No authentication or user interaction is required, and the URL can target internal services directly or through redirects or DNS rebinding.

3

What can an attacker obtain or do through the vulnerable request?

Internal HTTP response bodies can be disclosed because returned content is represented as Element text. Requests can also invoke side-effecting GET endpoints on reachable internal services.

4

What should be done if upgrading is not immediately possible?

Do not allow untrusted users to control URLs passed to the affected partitioning functions. Restrict the ingestion service's network access to prevent requests to loopback addresses, internal HTTP services, and cloud metadata endpoints.

5

How is the issue fixed?

Upgrade unstructured to version 0.24.0, which fixes the missing host validation for the affected URL-based partitioning paths.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203