CVE-2026-104250
Received Received - Intake

Stored XSS in Unstructured Library HTML Parsing

Vulnerability report for CVE-2026-104250, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-13

Last updated on: 2026-10-13

Assigner: GitHub, Inc.

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-13
Last Modified
2026-10-13
Generated
2026-10-13
AI Q&A
2026-10-13
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
Unstructured-IO unstructured < 0.24.1

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
CWE-116 The product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects the unstructured library, which processes images and text documents like PDFs or HTML. Before version 0.24.1, it could preserve malicious HTML tags, attributes, and JavaScript links in metadata or output. When rendered in a browser, this allows attacker-controlled scripts to execute, potentially compromising systems where users view submitted documents.

Detection Guidance

The vulnerability affects the unstructured library versions prior to 0.24.1. To detect it, check the installed version of the unstructured library using commands like pip show unstructured or pip list. If the version is below 0.24.1, the system is vulnerable.

Impact Analysis

If you use the unstructured library before version 0.24.1, an attacker could craft a document that executes malicious scripts when you or your users view it. This could lead to unauthorized access, data theft, or further compromise of your systems, especially in workflows where documents are reviewed by privileged users.

Compliance Impact

This vulnerability could violate GDPR or HIPAA by enabling unauthorized access to personal or health data if attacker scripts exfiltrate sensitive information during document processing. Organizations using affected versions may fail compliance audits due to inadequate document security controls.

Mitigation Strategies

Upgrade the unstructured library to version 0.24.1 or later immediately. Use pip install --upgrade unstructured to apply the fix. Review and sanitize any HTML or text_as_html outputs generated by the library to ensure no unsafe content is present.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-104250. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart