CVE-2026-54325 Pi loads project-local extensions without approval
Attackers can execute arbitrary code by placing malicious extensions in a repository, which Pi loads automatically without user approval.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-54325?
CVE-2026-54325 is a medium-severity code injection vulnerability in earendil-works pi, published on 23 Jun 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
Pi is a minimal terminal coding harness. Pi before 0.79.0 loaded project-local configuration and resources from a repository'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.
Weakness: CWE-829
Which versions are affected by CVE-2026-54325?
2 open source packages ship an affected version, including @earendil-works/pi-coding-agent.
| Package | Affected | Fixed in |
|---|---|---|
@earendil-works/pi-coding-agent npm | All versions | 0.79.0 |
@earendil-works/pi-coding-agent npm | All versions | 0.79.0 |
How do I fix CVE-2026-54325?
Upgrade @earendil-works/pi-coding-agent to 0.79.0 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-54325 being exploited?
There is no known exploitation of CVE-2026-54325 in the wild and no public exploit code.
Sources
Also known as GHSA-mqxh-6gq7-558m, MINI-qqx2-vrr2-38pg.