Pi loads project-local extensions without approval
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-829.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| earendil-works | pi | before 0.79.0 | 0.79.0 | Patch available | CNA |
| — | @earendil-works/pi-coding-agent (npm) | before 0.79.0 | 0.79.0 | Patch available | GHSA-mqxh-6gq7-558m |
- pi Vendorearendil-works Affected before 0.79.0 Fixed in 0.79.0 Patch available CNA
- @earendil-works/pi-coding-agent (npm) Vendor— Affected before 0.79.0 Fixed in 0.79.0 Patch available GHSA-mqxh-6gq7-558m
Remediation
- Fix · CNA pi (earendil-works) Fixed in 0.79.0
- Fix · GHSA-mqxh-6gq7-558m @earendil-works/pi-coding-agent (npm) Fixed in 0.79.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-54325
- 2026-10-03 Alias added: GHSA-mqxh-6gq7-558m
References
Other 8
- https://github.com/earendil-works/pi/security/advisories/GHSA-mqxh-6gq7-558m
- https://github.com/earendil-works/pi/commit/38f18be44727e669eb0a6e2eb8edb51b0232d83c
- https://github.com/earendil-works/pi/commit/718215bd95b6fc6fa251580d27ea8aab857de390
- https://github.com/earendil-works/pi/commit/89a92207f1c9303d53d822fd9b0ac21578834cb4
- https://github.com/earendil-works/pi/commit/ce3a72444e1cc1eaa50475fb3378c7ffbb53ef49
- 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
More earendil-works vulnerabilities
- TI-2026-39223 Pi: Predictable temporary extension install paths allow local privilege escalation on shared Linux hosts CVSS 3.1HIGH 7.3
- TI-2026-39221 Pi: Potential XSS in HTML session exports via Markdown URL sanitization bypass CVSS 3.1LOW 2.5
- TI-2026-39222 Pi: Race condition in auth.json writes could expose stored credentials CVSS 3.1LOW 2.2
Sources
- CVE-2026-54325 · CVE Program
- CVE-2026-54325 · NVD
- FIRST EPSS
- GHSA-mqxh-6gq7-558m · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences