# CVE-2026-54325: earendil-works Pi arbitrary code execution via untrusted project extensions

Source: https://junglewise.ai/threats/cve-2026-54325-earendil-works-pi-arbitrary-code-execution-via-untrusted-project  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-23. Updated: 2026-06-23  
License: CC BY 4.0 with a link back

CVE-2026-54325 · Severity: medium · CVSS 4.4 · Published 2026-06-23

Pi is a terminal-based tool used by developers for coding tasks. In versions before 0.79.0, the tool would automatically load and execute configuration files and extensions found within a project's directory without asking for the user's permission. If a developer opens a malicious repository using Pi, an attacker could execute arbitrary code on the developer's machine with the same permissions as the Pi application.

Technologies: [Earendil-Works Pi-Coding-Agent](https://junglewise.ai/threats/technologies/pi-coding-agent), [@earendil-works/pi-coding-agent (npm)](https://junglewise.ai/threats/technologies/earendil-works-pi-coding-agent). Vendors: [Earendil-Works](https://junglewise.ai/threats/vendors/earendil-works), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-54325 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-54325 being exploited in the wild.

**How severe is CVE-2026-54325?** Medium severity, with a CVSS score of 4.4, published 23 June 2026.

**Which products and versions are affected?** Earendil-Works Pi < 0.79.0; Earendil-Works Pi-Coding-Agent < 0.79.0; @earendil-works/pi-coding-agent (npm) < 0.79.0, SEMVER:introduced=0,fixed=0.79.0.

**Is there a fix for CVE-2026-54325?** Yes. @earendil-works/pi-coding-agent (npm): upgrade to 0.79.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-54325 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-54325?** Check whether you run Earendil-Works Pi, Earendil-Works Pi-Coding-Agent or @earendil-works/pi-coding-agent (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @earendil-works/pi-coding-agent (npm): upgrade to 0.79.0 or later

  ```sh
  npm install @earendil-works/pi-coding-agent@0.79.0
  ```


## Technical details

Pi, a terminal coding harness, suffers from an untrusted control sphere vulnerability (CWE-829). Prior to version 0.79.0, the application automatically loaded project-local resources, including TypeScript or JavaScript modules (extensions), from the '.pi' directory of the current working tree. Because these modules are executed within the Pi process without a trust boundary or user confirmation, a local attacker who can convince a user to run Pi within a malicious repository can achieve arbitrary code execution. The fix introduced in version 0.79.0 implements a trust gating mechanism that requires explicit user approval before loading project-local settings or executing extensions.

## Affected products

- earendil-works Pi (coding-agent) < 0.79.0

## Identifiers

- CVE-2026-54325
- GHSA-mqxh-6gq7-558m

## Timeline

- 2026-06-23: advisory: NVD publication date
- 2026-06-08: patched: Fixes for project trust gating committed to repository

## References

- [https://github.com/earendil-works/pi/commit/38f18be44727e669eb0a6e2eb8edb51b0232d83c](https://github.com/earendil-works/pi/commit/38f18be44727e669eb0a6e2eb8edb51b0232d83c)
- [https://github.com/earendil-works/pi/commit/718215bd95b6fc6fa251580d27ea8aab857de390](https://github.com/earendil-works/pi/commit/718215bd95b6fc6fa251580d27ea8aab857de390)
- [https://github.com/earendil-works/pi/commit/89a92207f1c9303d53d822fd9b0ac21578834cb4](https://github.com/earendil-works/pi/commit/89a92207f1c9303d53d822fd9b0ac21578834cb4)
- [https://github.com/earendil-works/pi/commit/ce3a72444e1cc1eaa50475fb3378c7ffbb53ef49](https://github.com/earendil-works/pi/commit/ce3a72444e1cc1eaa50475fb3378c7ffbb53ef49)
- [https://github.com/earendil-works/pi/commit/ff3e9df5f5b32368c20b0ef553a6834b3dee9350](https://github.com/earendil-works/pi/commit/ff3e9df5f5b32368c20b0ef553a6834b3dee9350)
- [https://github.com/earendil-works/pi/releases/tag/v0.79.0](https://github.com/earendil-works/pi/releases/tag/v0.79.0)
- [https://github.com/earendil-works/pi/security/advisories/GHSA-mqxh-6gq7-558m](https://github.com/earendil-works/pi/security/advisories/GHSA-mqxh-6gq7-558m)

## Related threats

- [earendil-works Pi code execution via predictable temporary paths](https://junglewise.ai/threats/cve-2026-54328-earendil-works-pi-code-execution-via-predictable-temporary-paths)
- [Earendil Pi race condition in auth.json credential storage](https://junglewise.ai/threats/cve-2026-54327-earendil-pi-race-condition-in-auth-json-credential-storage)
- [earendil-works Pi XSS in HTML session exports](https://junglewise.ai/threats/cve-2026-54326-earendil-works-pi-xss-in-html-session-exports)
