<?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://vulnerability.circl.lu</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>Tue, 06 Oct 2026 10:26:44 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-54326 — Pi: Potential XSS in HTML session exports via Markdown URL sanitization bypass</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-54326</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; earendil-works pi&lt;/p&gt;
&lt;p&gt;Pi is a minimal terminal coding harness. From 0.74.0 until 0.78.1, Pi HTML exports render session Markdown into a static HTML file. It did not consistently reject unsafe Markdown link and image URL schemes. In versions with scheme filtering, C0 control characters in the URL scheme could bypass the check because browsers normalize those characters before navigation. This vulnerability is fixed in 0.78.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; earendil-works pi&lt;/p&gt;
&lt;p&gt;Pi is a minimal terminal coding harness. From 0.74.0 until 0.78.1, Pi HTML exports render session Markdown into a static HTML file. It did not consistently reject unsafe Markdown link and image URL schemes. In versions with scheme filtering, C0 control characters in the URL scheme could bypass the check because browsers normalize those characters before navigation. This vulnerability is fixed in 0.78.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-54326</guid>
    </item>
    <item>
      <title>GHSA-7v5m-pr3q-6453 — Pi Agent: Potential XSS in HTML session exports via Markdown URL sanitization bypass</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-7v5m-pr3q-6453</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @mariozechner/pi-coding-agent, npm: @earendil-works/pi-coding-agent&lt;/p&gt;
&lt;p&gt;# Potential XSS in HTML session exports via Markdown URL handling&lt;/p&gt;
&lt;p&gt;Pi HTML exports render session Markdown into a static HTML file. Affected versions did not consistently reject unsafe Markdown link and image URL schemes. In versions with scheme filtering, C0 control characters in the URL scheme could bypass the check because browsers normalize those characters before navigation.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;The realistic attack path is indirect. An attacker would need to get suitable Markdown into a session, for example through prompt injection that causes the model to include an unsafe link, or through other untrusted session content. The user would then need to export the session as HTML, open or share that file, and click the link.&lt;/p&gt;
&lt;p&gt;If triggered, script runs in the exported document, not in pi or the user&amp;#39;s shell. The main risk is limited disclosure of data embedded in that exported session file.&lt;/p&gt;
&lt;p&gt;## Affected versions&lt;/p&gt;
&lt;p&gt;- Affected: `@mariozechner/pi-coding-agent &amp;gt;= 0.27.5, &amp;lt;= 0.73.1`
- Affected: `@earendil-works/pi-coding-agent &amp;gt;= 0.74.0, &amp;lt; 0.78.1`
- Patched: `@earendil-works/pi-coding-agent 0.78.1`&lt;/p&gt;
&lt;p&gt;The old `@mariozechner/pi-coding-agent` package scope has no patched release. It was renamed to `@earendil-works/pi-coding-agent`; users of the old scope should migrate to the new package and upgrade to version 0.78.1 or later.&lt;/p&gt;
&lt;p&gt;## Resolution&lt;/p&gt;
&lt;p&gt;Version 0.78.1 sanitizes Markdown link and image URLs with an allow-list after stripping C0 control characters.&lt;/p&gt;
&lt;p&gt;## Recommendations&lt;/p&gt;
&lt;p&gt;Upgrade `@earendil…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @mariozechner/pi-coding-agent, npm: @earendil-works/pi-coding-agent&lt;/p&gt;
&lt;p&gt;# Potential XSS in HTML session exports via Markdown URL handling&lt;/p&gt;
&lt;p&gt;Pi HTML exports render session Markdown into a static HTML file. Affected versions did not consistently reject unsafe Markdown link and image URL schemes. In versions with scheme filtering, C0 control characters in the URL scheme could bypass the check because browsers normalize those characters before navigation.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;The realistic attack path is indirect. An attacker would need to get suitable Markdown into a session, for example through prompt injection that causes the model to include an unsafe link, or through other untrusted session content. The user would then need to export the session as HTML, open or share that file, and click the link.&lt;/p&gt;
&lt;p&gt;If triggered, script runs in the exported document, not in pi or the user&amp;#39;s shell. The main risk is limited disclosure of data embedded in that exported session file.&lt;/p&gt;
&lt;p&gt;## Affected versions&lt;/p&gt;
&lt;p&gt;- Affected: `@mariozechner/pi-coding-agent &amp;gt;= 0.27.5, &amp;lt;= 0.73.1`
- Affected: `@earendil-works/pi-coding-agent &amp;gt;= 0.74.0, &amp;lt; 0.78.1`
- Patched: `@earendil-works/pi-coding-agent 0.78.1`&lt;/p&gt;
&lt;p&gt;The old `@mariozechner/pi-coding-agent` package scope has no patched release. It was renamed to `@earendil-works/pi-coding-agent`; users of the old scope should migrate to the new package and upgrade to version 0.78.1 or later.&lt;/p&gt;
&lt;p&gt;## Resolution&lt;/p&gt;
&lt;p&gt;Version 0.78.1 sanitizes Markdown link and image URLs with an allow-list after stripping C0 control characters.&lt;/p&gt;
&lt;p&gt;## Recommendations&lt;/p&gt;
&lt;p&gt;Upgrade `@earendil…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-7v5m-pr3q-6453</guid>
    </item>
  </channel>
</rss>
