<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Mon, 19 Oct 2026 16:01:18 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-104250</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-104250</link>
      <description>&lt;p&gt;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=&amp;#34;v2&amp;#34;) 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&amp;#39;s origin, including in document-ingestion workflows where a privileged reviewer opens submitted content. This issue is fixed in version 0.24.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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=&amp;#34;v2&amp;#34;) 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&amp;#39;s origin, including in document-ingestion workflows where a privileged reviewer opens submitted content. This issue is fixed in version 0.24.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-104250</guid>
    </item>
    <item>
      <title>GHSA-v5mq-3xhg-98m9 — unstructured: Stored XSS via unescaped HTML generation</title>
      <link>https://db.gcve.eu/vuln/ghsa-v5mq-3xhg-98m9</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: unstructured&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;When `unstructured` parses an untrusted document and outputs the result as HTML, malicious markup contained in the document (e.g. `&amp;lt;img src=x onerror=...&amp;gt;`) 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&amp;#39;s browser.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;`partition_html(html_parser_version=&amp;#34;v2&amp;#34;)` (and the VLM partitioner) preserve the input document&amp;#39;s element tags, attributes, and text into `metadata.text_as_html`, and `elements_to_html()` outputs that as an HTML document.&lt;/p&gt;
&lt;p&gt;The function that builds HTML on this path, `to_html()` in `unstructured/documents/ontology.py`, performs no escaping at all. As a result, event handlers such as `onerror` / `onmouseover` / `onload` originating from the input document are left in the output HTML as-is (literal `&amp;lt;script&amp;gt;` tags are stripped by the parser, but attribute-based vectors and `javascript:` URLs are not). In addition, link URLs are not scheme-filtered, so `&amp;lt;a href=&amp;#34;javascript:...&amp;#34;&amp;gt;` is also emitted.&lt;/p&gt;
&lt;p&gt;Relevant source: `documents/ontology.py` (`to_html`, `_construct_attribute_string`, `_generate_final_html`); `partition/html/transformations.py` (`text_as_html = ontology_element.to_html()`); `partition/html/convert.py` (`elements_to_html`).&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;Environment: `downloads.unstructured.io/unstructured-io/unstructured:latest`, `unstructured` 0.23.3.&lt;/p&gt;
&lt;p&gt;```python
from unstructured.partition.html import partition_html
from unstructured.partition.html.…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: unstructured&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;When `unstructured` parses an untrusted document and outputs the result as HTML, malicious markup contained in the document (e.g. `&amp;lt;img src=x onerror=...&amp;gt;`) 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&amp;#39;s browser.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;`partition_html(html_parser_version=&amp;#34;v2&amp;#34;)` (and the VLM partitioner) preserve the input document&amp;#39;s element tags, attributes, and text into `metadata.text_as_html`, and `elements_to_html()` outputs that as an HTML document.&lt;/p&gt;
&lt;p&gt;The function that builds HTML on this path, `to_html()` in `unstructured/documents/ontology.py`, performs no escaping at all. As a result, event handlers such as `onerror` / `onmouseover` / `onload` originating from the input document are left in the output HTML as-is (literal `&amp;lt;script&amp;gt;` tags are stripped by the parser, but attribute-based vectors and `javascript:` URLs are not). In addition, link URLs are not scheme-filtered, so `&amp;lt;a href=&amp;#34;javascript:...&amp;#34;&amp;gt;` is also emitted.&lt;/p&gt;
&lt;p&gt;Relevant source: `documents/ontology.py` (`to_html`, `_construct_attribute_string`, `_generate_final_html`); `partition/html/transformations.py` (`text_as_html = ontology_element.to_html()`); `partition/html/convert.py` (`elements_to_html`).&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;Environment: `downloads.unstructured.io/unstructured-io/unstructured:latest`, `unstructured` 0.23.3.&lt;/p&gt;
&lt;p&gt;```python
from unstructured.partition.html import partition_html
from unstructured.partition.html.…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-v5mq-3xhg-98m9</guid>
    </item>
  </channel>
</rss>
