Skip to content
Heist/ feed
Back to feed
Critical

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

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-71428
Confirmed fixed CVEs
Not specified
Updated in this feed
6 Nov 2026, 01:19 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 20 Aug 2026, 16:43 UTC

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.

osv:CVE-2026-71428
Complete source record
{
  "id": "97d5d9e62e93daff156607fbdabdd2c7b855643f881f8b7f334718a24476b6f7",
  "url": "https://osv.dev/vulnerability/CVE-2026-71428",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "unstructured: Server-Side Request Forgery in the URL-based partitioning",
    "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.",
    "evidence": "osv:CVE-2026-71428",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-71428",
      "aliases": [
        "CVE-2026-71428",
        "GHSA-4mvj-m6j5-pmf7",
        "PYSEC-2026-3930"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/unstructured-io/unstructured",
              "type": "GIT",
              "events": [
                {
                  "introduced": "962de78def1d34aad1ee5acc2ab7804367d49180"
                },
                {
                  "fixed": "445c95735c4045057f51f399bc04c657751923bd"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.4.7"
                      },
                      {
                        "fixed": "0.24.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "445c95735c4045057f51f399bc04c657751923bd"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "445c95735c4045057f51f399bc04c657751923bd"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "0.24.0"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.24.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "0.23.1",
            "0.23.0",
            "0.22.32",
            "0.22.31",
            "0.22.30",
            "0.22.29",
            "0.22.28",
            "0.22.27",
            "0.22.26",
            "0.22.23",
            "0.22.22",
            "0.22.21",
            "0.22.20",
            "opencv-4.12.0.88",
            "0.22.18",
            "0.22.16",
            "0.22.12",
            "0.22.10",
            "0.22.6",
            "0.22.4",
            "0.21.5",
            "0.21.2",
            "0.21.1",
            "0.21.0",
            "0.20.8",
            "0.20.6",
            "0.20.1",
            "0.19.3",
            "0.18.32",
            "0.18.31",
            "0.18.28",
            "0.18.27",
            "0.18.26",
            "0.18.24",
            "0.18.22",
            "0.18.21",
            "0.18.20",
            "0.18.18",
            "0.18.15",
            "unstructured_0.18.14",
            "0.18.14",
            "0.18.13",
            "0.18.12",
            "0.18.11",
            "0.18.10",
            "0.18.9",
            "0.18.7",
            "0.18.6",
            "0.18.5",
            "0.18.4",
            "0.18.3",
            "0.18.2",
            "0.18.1",
            "0.17.11-dev1",
            "0.17.2",
            "0.17.0",
            "0.16.25",
            "0.16.24",
            "0.16.23",
            "0.16.22",
            "0.16.21",
            "0.16.20",
            "0.16.19",
            "0.16.17",
            "0.16.16",
            "0.16.15",
            "0.16.14",
            "0.16.13",
            "0.6.12",
            "0.16.12",
            "0.16.11",
            "0.16.8",
            "0.16.7",
            "0.16.6",
            "0.16.5",
            "0.16.4",
            "0.16.3",
            "0.16.2",
            "0.16.1",
            "0.16.0",
            "0.15.14",
            "0.15.13",
            "0.15.12",
            "0.15.10",
            "0.15.9",
            "0.15.8",
            "0.15.7",
            "0.15.6",
            "0.15.5",
            "0.15.4",
            "0.15.3",
            "0.15.2",
            "0.15.1",
            "0.15.0",
            "0.14.10",
            "0.14.9",
            "0.14.8",
            "0.14.7",
            "0.14.6",
            "0.14.5",
            "0.14.4",
            "0.14.3",
            "0.14.2",
            "0.14.1",
            "0.14.0",
            "0.13.7",
            "0.13.6",
            "0.13.5",
            "0.13.4",
            "0.13.3",
            "0.13.2",
            "0.13.1",
            "0.13.0",
            "0.12.6",
            "0.12.5",
            "0.12.4",
            "0.12.3",
            "0.12.2",
            "0.12.1",
            "0.12.0",
            "0.11.8",
            "0.11.7",
            "0.11.6",
            "0.11.5",
            "0.11.4",
            "0.11.2",
            "0.11.1",
            "0.11.0",
            "0.10.30",
            "0.10.29",
            "0.10.28",
            "0.10.27",
            "0.10.26",
            "0.10.25",
            "0.10.24",
            "0.10.23",
            "0.10.22",
            "0.10.21",
            "0.10.20",
            "0.10.19",
            "0.10.18",
            "0.10.17",
            "0.10.16",
            "0.10.15",
            "0.10.14",
            "0.10.13",
            "0.10.12",
            "0.10.11",
            "0.10.10",
            "0.10.9",
            "0.10.8",
            "0.10.7",
            "0.10.6",
            "0.10.5",
            "0.10.4",
            "0.10.2",
            "0.10.1",
            "0.10.0",
            "0.9.3",
            "0.9.2",
            "0.9.1",
            "0.9.0-docs-build",
            "0.9.0",
            "0.8.8",
            "0.8.7",
            "0.8.6",
            "0.8.5",
            "0.8.4",
            "0.8.2",
            "0.8.1-docs-rebuild",
            "0.8.0",
            "0.7.12",
            "0.7.11",
            "0.7.10",
            "0.7.9",
            "0.7.8",
            "0.7.7",
            "0.7.6",
            "0.7.5",
            "0.7.4",
            "0.7.2",
            "0.7.1",
            "0.7.0",
            "0.6.11",
            "0.6.10",
            "0.6.9",
            "0.6.8",
            "0.6.7",
            "0.6.6",
            "0.6.5",
            "0.6.4",
            "0.6.3",
            "0.6.2",
            "0.6.1",
            "0.6.0",
            "0.5.13",
            "0.5.12",
            "0.5.11",
            "0.5.10",
            "0.5.9",
            "0.5.8",
            "0.5.7",
            "0.5.6",
            "0.5.4",
            "0.5.3",
            "0.5.2",
            "0.5.1",
            "0.5.0",
            "0.4.16",
            "0.4.15",
            "0.4.14",
            "0.4.13",
            "0.4.12",
            "0.4.11",
            "0.4.10",
            "0.4.9",
            "0.4.8",
            "0.4.7"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-71428.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:45.513442985Z",
      "provider": "osv",
      "references": [
        "https://github.com/Unstructured-IO/unstructured/releases/tag/0.24.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71428.json",
        "https://github.com/Unstructured-IO/unstructured/security/advisories/GHSA-4mvj-m6j5-pmf7",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-71428",
        "https://github.com/Unstructured-IO/unstructured/commit/445c95735c4045057f51f399bc04c657751923bd",
        "https://github.com/Unstructured-IO/unstructured/pull/4388"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-601",
          "CWE-918"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71428.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-71428",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 513790,
  "published_at": "2026-08-20T16:43:01.306+00:00"
}