VDB

CVE-2026-104250

CVE-2026-104250 PUBLISHED CVSS 6.1 MEDIUM

unstructured: Stored XSS via unescaped HTML generation

Reported by github_m · Published October 13, 2026

unstructured is fixed in 0.24.1 (PyPI)

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. Prior to 0.24.1, partition_html(html_parser_version="v2") and the VLM partitioner can preserve untrusted document tags, attributes, text, and link targets in metadata.text_as_html, while elements_to_html() emits the result as an HTML document. The to_html() path in unstructured/documents/ontology.py does not escape output or reject unsafe URL schemes, allowing event-handler attributes, attribute breakout markup, and javascript: links to survive parsing. When the generated HTML or text_as_html is rendered in a browser, attacker-controlled script can execute in the viewer's origin, including in document-ingestion workflows where a privileged reviewer opens submitted content. This issue is fixed in version 0.24.1.

Fixed versions

Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.

PackageEcosystemFixed in
unstructuredPyPI0.24.1
open-webuiChainguard0.12.3-r2
open-webuiWolfi0.12.3-r2

Risk scores

CVSS 3.1
6.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Affected products

VendorProductVersions
Unstructured-IOunstructured< 0.24.1
PyPIunstructured0
chainguardopen-webui0
wolfiopen-webui0
Unstructured-IOunstructured0

Timeline

  • Oct 13, 2026 Coalition ESS Score
  • Oct 13, 2026 CVE Published
  • Oct 14, 2026 EPSS Score (4 in total, the first dated here)
  • Oct 14, 2026 CVE Updated
  • Oct 31, 2026 Security Advisory

Query this with the API

The same record, from the CLI:

vulnetix vdb vuln CVE-2026-104250
vulnetix vdb fixes CVE-2026-104250

Or with curl, using the org id and key from your account page:

curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
  "https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-104250/fixes/registry"

The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart

Look up in the Resolve Platform →
$ Lookup Community · 50/day Open Lookup ›