Vulnerability · CVE-2026-104250
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.
Published Oct 13, 2026 · catalog updated Oct 15, 2026 · The unstructured library provides
Check if you run it
No confirmed exploitation is on record for CVE-2026-104250. EPSS is 0.19%. Act only if a listed version of The unstructured library provides is installed.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (The unstructured library provides).
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- Severity
- Medium6.1
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- 0.19%
- Remediation
- Version ranges on file
- Affected products
- PyPI unstructured · pip unstructured · pypi unstructured
### Summary When parses an untrusted document and outputs the result as HTML, malicious markup contained in the document (e.g. ) is left in the output HTML without escaping. When that output is displayed in a browser, the script embedded in the document executes in the viewer's browser. ### Details (and the VLM partitioner) preserve the input document's element tags, attributes, and text into , and outputs that as an HTML document. The function that builds HTML on this path, in , performs no escaping at all. As a result, event handlers such as / / originating from the input document are left in the output HTML as-is (literal tags are stripped by the parser, but attribute-based vectors and URLs are not). In addition, link URLs are not scheme-filtered, so is also emitted. Relevant source: ( , , ); ( ); ( ). ### PoC Environment: , 0.23.3. output body — the unescaped vectors survive: Opening in a browser fires automatically (via ), with no interaction. Per-vector confirmation (each payload labelled, each verified in a browser): | Vector | Trigger | Cause | |---|---|---| | | open file (auto) | element not escaped | | (via ) | open file (auto) | attribute value not escaped ( breakout) | | | click | link URL scheme not filtered | | | hover | source attribute preserved as-is | ### Impact Stored XSS caused by improper output encoding. Anyone who renders the HTML or generated from an untrusted document is affected. In an ingestion pipeline where uploaded documents are parsed and a staff member reviews their contents in a web UI, a low-privileged or external submitter can inject malicious HTML; when a privileged reviewer later opens the parsed result, fires in their session with no interaction, leading to cross-record information disclosure and privileged actions.
Are you affected?
Enter the version you run. The result uses only the ranges stored on this record.
The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.
- PyPI unstructured0 → 0.24.1
- pip unstructured<= 0.24.0
- pypi unstructuredversion unspecified
How to fix CVE-2026-104250
Recommended remediation
Affected version ranges suggest a fixed boundary. Verify against the vendor advisory for your release.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
No confirmed exploitation is on record for CVE-2026-104250. EPSS is 0.19%. Act only if a listed version of The unstructured library provides is installed.
Which versions are affected?
Compare what you have installed with 0 → 0.24.1, <= 0.24.0. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-116; CWE-79: Cross-site Scripting (XSS). EPSS 0.19%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 13, 2026 · NIST NVD
Detected
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 doc
Oct 14, 2026 · NIST NVD
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. 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 doc
Oct 15, 2026 · GitHub Advisory Database
Fix available
unstructured fixed in 0.24.1
Oct 15, 2026 · GitHub Advisory Database
Fix available
unstructured fixed in 0.24.1
Oct 15, 2026 · GitHub Advisory Database
Updated
### Summary When parses an untrusted document and outputs the result as HTML, malicious markup contained in the document (e.g. ) is left in the output HTML without escaping. When that output is displayed in a browser, the script embedded in the document executes in the viewer's browser. ### Details (and the VLM partitioner) preserve the input document's element tags, attributes, and text into , an
Sources
- CVE.orgVulnerability recordCVE-2026-104250
Official CVE identifier
cve.org - FIRST EPSSExploitation probabilityCVE-2026-104250
30-day exploitation probability 0.2%
first.org - GitHub Advisory DatabasePackage advisoryGHSA-v5mq-3xhg-98m9
unstructured: Stored XSS via unescaped HTML generation
github.com - GitLab Advisory DatabasePackage advisoryCVE-2026-104250
When unstructured parses an untrusted document and outputs the result as HTML, malicious markup contained in the document (e.g. ) is left in the output HTML without escaping. When that output is displayed in a browser, the script embedded in the document executes in the viewer's browser.
advisories.gitlab.com - NIST NVDVulnerability recordCVE-2026-104250
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 tag
nvd.nist.gov - OpenSSF OSV / OSV ScannerPackage advisoryGHSA-v5mq-3xhg-98m9
unstructured: Stored XSS via unescaped HTML generation
osv.dev - PyPA Advisory DatabasePackage advisoryGHSA-v5mq-3xhg-98m9
unstructured: Stored XSS via unescaped HTML generation
osv.dev
References
Freshness
Last verified in this catalog Oct 18, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.