<?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://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-07T23:22:42.679115+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" 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://cve.radiocsirt.org/vuln/euvd-2026-342090</id>
    <title>EUVD-2026-342090</title>
    <updated>2026-10-07T23:22:42.681870+00:00</updated>
    <content>EUVD-2026-342090</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-342090"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-59727</id>
    <title>fkie_cve-2026-59727</title>
    <updated>2026-10-07T23:22:42.681916+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Astro is a web framework for content-driven websites. In versions 3.10.0 through 7.0.3, when a transition:persist, transition:scope, or transition:persist-props directive is applied to a client-hydrated (client:*) component, Astro copied the directive value onto the rendered &lt;astro-island&gt; element without HTML-escaping it. If a developer reflects attacker-controlled input into one of these directives, an attacker can break out of the attribute and inject arbitrary HTML/JavaScript into the server-rendered output, resulting in reflected cross-site scripting (XSS). Exploitation requires the application developer to have written a non-idiomatic pattern — passing untrusted, request-derived input directly into a transition directive. Astro applications that do not route untrusted input into these directives are unaffected. This issue has been fixed in version 7.0.4.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-59727"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-7pw4-f3q4-r2p2</id>
    <title>GHSA-7pw4-f3q4-r2p2 — Astro: Cross-site scripting via unescaped transition:* directive values on hydrated islands</title>
    <updated>2026-10-07T23:22:42.681986+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: astro</p>
<p>### Summary</p>
<p>When a `transition:persist`, `transition:scope`, or `transition:persist-props` directive is applied to a client-hydrated (`client:*`) component, Astro copied the directive value onto the rendered `&lt;astro-island&gt;` element **without HTML-escaping it**. If a developer reflects attacker-controlled input into one of these directives, an attacker can break out of the attribute and inject arbitrary HTML/JavaScript into the server-rendered output, resulting in reflected cross-site scripting (XSS).</p>
<p>### Severity</p>
<p>Although a generic reflected XSS scores in the Medium range, exploitation here requires the application developer to have written a non-idiomatic pattern — passing untrusted, request-derived input directly into a transition directive. Astro applications that do not route untrusted input into these directives are unaffected. This mitigating precondition places the real-world severity at Low.</p>
<p>### Details</p>
<p>In `generateHydrateScript()` (`packages/astro/src/runtime/server/hydration.ts`), every island property is HTML-escaped before serialization — the `attrs`, `props`, and `opts` assignments all pass through `escapeHTML()`. The transition directives, however, were copied verbatim:</p>
<p>```ts
transitionDirectivesToCopyOnIsland.forEach((name) =&gt; {
  if (typeof props[name] !== 'undefined') {
    island.props[name] = props[name]; // not escaped
  }
});
```</p>
<p>The `&lt;astro-island&gt;` element is serialized via `renderElement('astro-island', island, false)` with `shouldEscape=false…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-7pw4-f3q4-r2p2"/>
  </entry>
</feed>
