<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-16T05:27:47.390852+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-f6ww-3ggp-fr8h</id>
    <title>GHSA-f6ww-3ggp-fr8h — xmldom has XML injection through unvalidated DocumentType serialization</title>
    <updated>2026-10-16T05:27:47.407736+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: @xmldom/xmldom, npm: xmldom</p>
<p>## Summary</p>
<p>The package serializes `DocumentType` node fields (`internalSubset`, `publicId`, `systemId`) verbatim
without any escaping or validation. When these fields are set programmatically to attacker-controlled
strings, `XMLSerializer.serializeToString` can produce output where the DOCTYPE declaration is
terminated early and arbitrary markup appears outside it.</p>
<p>---</p>
<p>## Details</p>
<p>`DOMImplementation.createDocumentType(qualifiedName, publicId, systemId, internalSubset)` validates
only `qualifiedName` against the XML QName production. The remaining three arguments are stored
as-is with no validation.</p>
<p>The XMLSerializer emits `DocumentType` nodes as:</p>
<p>```
&lt;!DOCTYPE name[ PUBLIC pubid][ SYSTEM sysid][ [internalSubset]]&gt;
```</p>
<p>All fields are pushed into the output buffer verbatim — no escaping, no quoting added.</p>
<p>**`internalSubset` injection:** The serializer wraps `internalSubset` with ` [` and `]`. A value
containing `]&gt;` closes the internal subset and the DOCTYPE declaration at the injection point.
Any content after `]&gt;` in `internalSubset` appears outside the DOCTYPE in the serialized output as
raw XML markup. Reported by @TharVid (GHSA-f6ww-3ggp-fr8h). Affected: `@xmldom/xmldom` ≥ 0.9.0
via `createDocumentType` API; 0.8.x only via direct property write.</p>
<p>**`publicId` injection:** The serializer emits `publicId` verbatim after `PUBLIC` with no
quoting added. A value containing an injected system identifier (e.g.,
`"pubid" SYSTEM "evil"`) breaks the intended quoting context,…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-f6ww-3ggp-fr8h"/>
  </entry>
</feed>
