<?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>Sun, 04 Oct 2026 21:52:00 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-54325 — Pi loads project-local extensions without approval</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-54325</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. Pi before 0.79.0 loaded project-local configuration and resources from a repository&amp;#39;s .pi directory without first asking the user to trust that repository. This included project-local extensions, which are executable TypeScript or JavaScript modules loaded into the Pi process. An attacker who controls a repository could place Pi-specific project resources in that repository. If a user then started Pi from that working tree, the project-local extension code could run with the same privileges as the local Pi process without the user having a convenient way to make a trust decision. This vulnerability is fixed in 0.79.0.&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. Pi before 0.79.0 loaded project-local configuration and resources from a repository&amp;#39;s .pi directory without first asking the user to trust that repository. This included project-local extensions, which are executable TypeScript or JavaScript modules loaded into the Pi process. An attacker who controls a repository could place Pi-specific project resources in that repository. If a user then started Pi from that working tree, the project-local extension code could run with the same privileges as the local Pi process without the user having a convenient way to make a trust decision. This vulnerability is fixed in 0.79.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-54325</guid>
    </item>
    <item>
      <title>GHSA-mqxh-6gq7-558m — Pi Agent: Pi loads project-local extensions without approval</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-mqxh-6gq7-558m</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @earendil-works/pi-coding-agent&lt;/p&gt;
&lt;p&gt;# Pi loads project-local extensions without approval&lt;/p&gt;
&lt;p&gt;Pi before 0.79.0 loaded project-local configuration and resources from a repository&amp;#39;s `.pi` directory without first asking the user to trust that repository. This included project-local extensions, which are executable TypeScript or JavaScript modules loaded into the Pi process.&lt;/p&gt;
&lt;p&gt;An attacker who controls a repository could place Pi-specific project resources in that repository. If a user then started Pi from that working tree, the project-local extension code could run with the same privileges as the local Pi process without the user having a convenient way to make a trust decision.&lt;/p&gt;
&lt;p&gt;## Info&lt;/p&gt;
&lt;p&gt;The affected component is Pi&amp;#39;s project resource loading path. Before 0.79.0, startup loaded project `.pi/settings.json`, auto-discovered `.pi` resources, project package-managed resources, and project instruction files as part of normal session initialization. Project-local extensions were included in the same extension set as user/global extensions and were initialized before there was a project trust boundary.&lt;/p&gt;
&lt;p&gt;Extensions like pi itself are not sandboxed. They run in the Pi process and can register commands, tools, and event handlers. The vulnerable behavior was not a privilege escalation across an operating-system boundary, but it allowed repository-controlled Pi extension code to execute implicitly when a user ran Pi in that repository.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;Exploitation requires user interaction: the attacker must get a user to open or ot…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @earendil-works/pi-coding-agent&lt;/p&gt;
&lt;p&gt;# Pi loads project-local extensions without approval&lt;/p&gt;
&lt;p&gt;Pi before 0.79.0 loaded project-local configuration and resources from a repository&amp;#39;s `.pi` directory without first asking the user to trust that repository. This included project-local extensions, which are executable TypeScript or JavaScript modules loaded into the Pi process.&lt;/p&gt;
&lt;p&gt;An attacker who controls a repository could place Pi-specific project resources in that repository. If a user then started Pi from that working tree, the project-local extension code could run with the same privileges as the local Pi process without the user having a convenient way to make a trust decision.&lt;/p&gt;
&lt;p&gt;## Info&lt;/p&gt;
&lt;p&gt;The affected component is Pi&amp;#39;s project resource loading path. Before 0.79.0, startup loaded project `.pi/settings.json`, auto-discovered `.pi` resources, project package-managed resources, and project instruction files as part of normal session initialization. Project-local extensions were included in the same extension set as user/global extensions and were initialized before there was a project trust boundary.&lt;/p&gt;
&lt;p&gt;Extensions like pi itself are not sandboxed. They run in the Pi process and can register commands, tools, and event handlers. The vulnerable behavior was not a privilege escalation across an operating-system boundary, but it allowed repository-controlled Pi extension code to execute implicitly when a user ran Pi in that repository.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;Exploitation requires user interaction: the attacker must get a user to open or ot…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-mqxh-6gq7-558m</guid>
    </item>
  </channel>
</rss>
