{"id":"CVE-2026-104250","revision":"89e522c4c72b4016a83713da2299421e","records":[{"revision":"89e522c4c72b4016a83713da2299421e","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-104250","aliases":[],"title":"unstructured: Stored XSS via unescaped HTML generation","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.","state":0,"publishedAt":"2026-10-13T16:29:28.813+00:00","modifiedAt":"2026-10-14T15:32:42.13+00:00","affected":[{"ecosystem":"Vendor product","name":"unstructured","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"Unstructured-IO\",\n                    \"product\": \"unstructured\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 0.24.1\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","score":6.1,"severity":"MEDIUM"}],"references":["https://github.com/Unstructured-IO/unstructured/security/advisories/GHSA-v5mq-3xhg-98m9","https://github.com/Unstructured-IO/unstructured/pull/4394","https://github.com/Unstructured-IO/unstructured/commit/cda16b3f2170019be9c6ea5635946fb3eaa2d66f","https://github.com/Unstructured-IO/unstructured/releases/tag/0.24.1"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-104250","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-104250","identifiers":["CVE-2026-104250"]},"retained":false,"historicalAffected":[]}],"coverage":[]}