<?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>Thu, 15 Oct 2026 20:46:41 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-107381</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-107381</link>
      <description>&lt;p&gt;svg-sanitizer is a PHP SVG/XML sanitizer. Prior to 1.0.0, Resolver::processReferences() in src/ElementReference/Resolver.php builds the SVG &amp;lt;use&amp;gt; reference graph with a case-sensitive href attribute predicate before cleanHrefAttributes() normalizes mixed-case names. An attacker can provide xlink:HrEf on nested &amp;lt;use&amp;gt; elements so the graph omits those references, after which the sanitizer converts the attribute to canonical xlink:href and returns the live nesting structure without applying the useNestingLimit protection. A consuming application that renders the sanitized SVG can therefore be exposed to the resource exhaustion that control is designed to prevent. This issue is fixed in version 1.0.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;svg-sanitizer is a PHP SVG/XML sanitizer. Prior to 1.0.0, Resolver::processReferences() in src/ElementReference/Resolver.php builds the SVG &amp;lt;use&amp;gt; reference graph with a case-sensitive href attribute predicate before cleanHrefAttributes() normalizes mixed-case names. An attacker can provide xlink:HrEf on nested &amp;lt;use&amp;gt; elements so the graph omits those references, after which the sanitizer converts the attribute to canonical xlink:href and returns the live nesting structure without applying the useNestingLimit protection. A consuming application that renders the sanitized SVG can therefore be exposed to the resource exhaustion that control is designed to prevent. This issue is fixed in version 1.0.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-107381</guid>
    </item>
    <item>
      <title>GHSA-m9xh-6747-9r6f — svg-sanitizer: Mixed-case xlink:HrEf skips the `&lt;use&gt;` nesting-DoS check in Resolver::processReferences</title>
      <link>https://db.gcve.eu/vuln/ghsa-m9xh-6747-9r6f</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: enshrined/svg-sanitize&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`Resolver::processReferences()` collects `&amp;lt;use&amp;gt;` elements with the XPath predicate `use[@href or @xlink:href]`, which is case sensitive. A `&amp;lt;use&amp;gt;` element written as `xlink:HrEf` is therefore never added to the reference graph, so the nesting-DoS nullification never marks it for removal. `Sanitizer::cleanHrefAttributes()` then runs later in the same pass and rewrites `xlink:HrEf` back to the canonical `xlink:href`. The sanitizer hands back a fully live nesting bomb that it would have stripped completely had the input used canonical casing.&lt;/p&gt;
&lt;p&gt;This is the mirror image of CVE-2025-55166: that fix made href *value* checking case insensitive, but the `&amp;lt;use&amp;gt;` reference graph still selects nodes case sensitively.&lt;/p&gt;
&lt;p&gt;## Where it is&lt;/p&gt;
&lt;p&gt;`src/ElementReference/Resolver.php:97-118`, the case-sensitive node selection:&lt;/p&gt;
&lt;p&gt;```php
$useNodeName = $this-&amp;gt;xPath-&amp;gt;createNodeName(&amp;#39;use&amp;#39;);
foreach ($this-&amp;gt;subjects as $subject) {
    $useElements = $this-&amp;gt;xPath-&amp;gt;query(
        $useNodeName . &amp;#39;[@href or @xlink:href]&amp;#39;,
        $subject-&amp;gt;getElement()
    );
```&lt;/p&gt;
&lt;p&gt;`src/Sanitizer.php:479-504`, the normalization that happens afterwards and makes the attribute live again:&lt;/p&gt;
&lt;p&gt;```php
// in case the attribute name is `HrEf`/`xlink:HrEf`, adjust it to `href`/`xlink:href`
if (!in_array($attribute-&amp;gt;nodeName, $this-&amp;gt;allowedAttrs, true)
    &amp;amp;&amp;amp; in_array(strtolower($attribute-&amp;gt;nodeName), $this-&amp;gt;allowedAttrs, true)
) {
    $element-&amp;gt;removeAttribute($attribute-&amp;gt;nodeName);
    $element-&amp;gt;setAttribute(strtolower($attrib…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: enshrined/svg-sanitize&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`Resolver::processReferences()` collects `&amp;lt;use&amp;gt;` elements with the XPath predicate `use[@href or @xlink:href]`, which is case sensitive. A `&amp;lt;use&amp;gt;` element written as `xlink:HrEf` is therefore never added to the reference graph, so the nesting-DoS nullification never marks it for removal. `Sanitizer::cleanHrefAttributes()` then runs later in the same pass and rewrites `xlink:HrEf` back to the canonical `xlink:href`. The sanitizer hands back a fully live nesting bomb that it would have stripped completely had the input used canonical casing.&lt;/p&gt;
&lt;p&gt;This is the mirror image of CVE-2025-55166: that fix made href *value* checking case insensitive, but the `&amp;lt;use&amp;gt;` reference graph still selects nodes case sensitively.&lt;/p&gt;
&lt;p&gt;## Where it is&lt;/p&gt;
&lt;p&gt;`src/ElementReference/Resolver.php:97-118`, the case-sensitive node selection:&lt;/p&gt;
&lt;p&gt;```php
$useNodeName = $this-&amp;gt;xPath-&amp;gt;createNodeName(&amp;#39;use&amp;#39;);
foreach ($this-&amp;gt;subjects as $subject) {
    $useElements = $this-&amp;gt;xPath-&amp;gt;query(
        $useNodeName . &amp;#39;[@href or @xlink:href]&amp;#39;,
        $subject-&amp;gt;getElement()
    );
```&lt;/p&gt;
&lt;p&gt;`src/Sanitizer.php:479-504`, the normalization that happens afterwards and makes the attribute live again:&lt;/p&gt;
&lt;p&gt;```php
// in case the attribute name is `HrEf`/`xlink:HrEf`, adjust it to `href`/`xlink:href`
if (!in_array($attribute-&amp;gt;nodeName, $this-&amp;gt;allowedAttrs, true)
    &amp;amp;&amp;amp; in_array(strtolower($attribute-&amp;gt;nodeName), $this-&amp;gt;allowedAttrs, true)
) {
    $element-&amp;gt;removeAttribute($attribute-&amp;gt;nodeName);
    $element-&amp;gt;setAttribute(strtolower($attrib…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-m9xh-6747-9r6f</guid>
    </item>
  </channel>
</rss>
