Skip to content
OpenAdvisories
Medium · 6.1 CVE-2026-104250 EUVD-2026-98918GHSA-v5mq-3xhg-98m9

unstructured: Stored XSS via unescaped HTML generation

Published Oct 13, 2026 · Updated Oct 14, 2026 · Assigned by GitHub_M

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. 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.

Affected products

VendorProductAffectedFixed
Unstructured-IO unstructured < 0.24.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling open-webui 0.12.3-r2 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI unstructured < 0.24.1 0.24.1 GHSA-v5mq-3xhg-98m9

References