<?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://cve.radiocsirt.org</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>Wed, 07 Oct 2026 11:08:20 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-341987</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-341987</link>
      <description>EUVD-2026-341987</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-341987</guid>
    </item>
    <item>
      <title>fkie_cve-2026-59729</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-59729</link>
      <description>&lt;p&gt;Astro is a web framework for content-driven websites. Versions prior to 7.0.6 are vulnerable to XSS through unescaped spread attribute names in renderHTMLElement. The fix for CVE-2026-54298 (GHSA-jrpj-wcv7-9fh9) added an INVALID_ATTR_NAME_CHAR guard to addAttribute() so that spread-prop attribute names containing &amp;#34;&amp;#39; &amp;gt;/= or whitespace are dropped. A second attribute-rendering path, renderHTMLElement() in packages/astro/src/runtime/server/render/dom.ts, has its own inline attribute loop that does not go through addAttribute() and was not updated. It interpolates the attribute name unescaped and only escapes the value, so untrusted prop keys spread onto a native-HTMLElement-subclass component can still break out of the attribute context. This issue has been fixed in version 7.0.6.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Astro is a web framework for content-driven websites. Versions prior to 7.0.6 are vulnerable to XSS through unescaped spread attribute names in renderHTMLElement. The fix for CVE-2026-54298 (GHSA-jrpj-wcv7-9fh9) added an INVALID_ATTR_NAME_CHAR guard to addAttribute() so that spread-prop attribute names containing &amp;#34;&amp;#39; &amp;gt;/= or whitespace are dropped. A second attribute-rendering path, renderHTMLElement() in packages/astro/src/runtime/server/render/dom.ts, has its own inline attribute loop that does not go through addAttribute() and was not updated. It interpolates the attribute name unescaped and only escapes the value, so untrusted prop keys spread onto a native-HTMLElement-subclass component can still break out of the attribute context. This issue has been fixed in version 7.0.6.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-59729</guid>
    </item>
    <item>
      <title>GHSA-f48w-9m4c-m7f5 — Astro: XSS via unescaped spread attribute names in renderHTMLElement (incomplete fix for CVE-2026-54298)</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-f48w-9m4c-m7f5</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: astro&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The fix for CVE-2026-54298 (GHSA-jrpj-wcv7-9fh9) added an `INVALID_ATTR_NAME_CHAR` guard to `addAttribute()` so that spread-prop attribute names containing `&amp;#34;&amp;#39; &amp;gt;/=` or whitespace are dropped. A second attribute-rendering path, `renderHTMLElement()` in `packages/astro/src/runtime/server/render/dom.ts`, has its own inline attribute loop that does not go through `addAttribute()` and was not updated. It interpolates the attribute name unescaped and only escapes the value, so untrusted prop keys spread onto a native-`HTMLElement`-subclass component can still break out of the attribute context, resulting in XSS.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;`renderHTMLElement` builds attributes directly:&lt;/p&gt;
&lt;p&gt;```js
for (const attr in props) {
  attrHTML += ` ${attr}=&amp;#34;${toAttributeString(await props[attr])}&amp;#34;`;
}
```&lt;/p&gt;
&lt;p&gt;The attribute name (`attr`) is interpolated raw; only the value is escaped via `toAttributeString`. By contrast, the hardened `addAttribute` in `util.ts` rejects invalid names:&lt;/p&gt;
&lt;p&gt;```js
if (INVALID_ATTR_NAME_CHAR.test(key)) { return &amp;#39;&amp;#39;; } // /[\s&amp;#34;&amp;#39;&amp;gt;/=]/
```&lt;/p&gt;
&lt;p&gt;`renderHTMLElement` is reached from `component.ts` when the component is a native `HTMLElement` subclass:&lt;/p&gt;
&lt;p&gt;```js
if (!renderer &amp;amp;&amp;amp; typeof HTMLElement === &amp;#39;function&amp;#39; &amp;amp;&amp;amp; componentIsHTMLElement(Component)) {
  const output = await renderHTMLElement(result, Component, _props, slots);
}
```&lt;/p&gt;
&lt;p&gt;where `_props` carries spread props verbatim.&lt;/p&gt;
&lt;p&gt;### Reachability&lt;/p&gt;
&lt;p&gt;The branch only runs when `typeof HTMLElement === &amp;#39;function&amp;#39;` at SSR time. In default Node SS…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: astro&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The fix for CVE-2026-54298 (GHSA-jrpj-wcv7-9fh9) added an `INVALID_ATTR_NAME_CHAR` guard to `addAttribute()` so that spread-prop attribute names containing `&amp;#34;&amp;#39; &amp;gt;/=` or whitespace are dropped. A second attribute-rendering path, `renderHTMLElement()` in `packages/astro/src/runtime/server/render/dom.ts`, has its own inline attribute loop that does not go through `addAttribute()` and was not updated. It interpolates the attribute name unescaped and only escapes the value, so untrusted prop keys spread onto a native-`HTMLElement`-subclass component can still break out of the attribute context, resulting in XSS.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;`renderHTMLElement` builds attributes directly:&lt;/p&gt;
&lt;p&gt;```js
for (const attr in props) {
  attrHTML += ` ${attr}=&amp;#34;${toAttributeString(await props[attr])}&amp;#34;`;
}
```&lt;/p&gt;
&lt;p&gt;The attribute name (`attr`) is interpolated raw; only the value is escaped via `toAttributeString`. By contrast, the hardened `addAttribute` in `util.ts` rejects invalid names:&lt;/p&gt;
&lt;p&gt;```js
if (INVALID_ATTR_NAME_CHAR.test(key)) { return &amp;#39;&amp;#39;; } // /[\s&amp;#34;&amp;#39;&amp;gt;/=]/
```&lt;/p&gt;
&lt;p&gt;`renderHTMLElement` is reached from `component.ts` when the component is a native `HTMLElement` subclass:&lt;/p&gt;
&lt;p&gt;```js
if (!renderer &amp;amp;&amp;amp; typeof HTMLElement === &amp;#39;function&amp;#39; &amp;amp;&amp;amp; componentIsHTMLElement(Component)) {
  const output = await renderHTMLElement(result, Component, _props, slots);
}
```&lt;/p&gt;
&lt;p&gt;where `_props` carries spread props verbatim.&lt;/p&gt;
&lt;p&gt;### Reachability&lt;/p&gt;
&lt;p&gt;The branch only runs when `typeof HTMLElement === &amp;#39;function&amp;#39;` at SSR time. In default Node SS…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-f48w-9m4c-m7f5</guid>
    </item>
  </channel>
</rss>
