Pi: Race condition in auth.json writes could expose stored credentials
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- High
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
Pi is a minimal terminal coding harness. From 0.74.0 until 0.78.1, Pi stored API keys and OAuth credentials in auth.json. A race condition in the file write path could briefly create or rewrite this file with permissions derived from the process umask before tightening the file to owner-only permissions. This vulnerability is fixed in 0.78.1.
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 | 0.74.0 to before 0.78.1 | 0.78.1 | Patch available | CNA |
| — | @mariozechner/pi-coding-agent (npm) | 0.28.0 – 0.73.1 | — | No fix listed | GHSA-r95r-rj6r-c39x |
| — | @earendil-works/pi-coding-agent (npm) | 0.74.0 to before 0.78.1 | 0.78.1 | Patch available | GHSA-r95r-rj6r-c39x |
- pi Vendorearendil-works Affected 0.74.0 to before 0.78.1 Fixed in 0.78.1 Patch available CNA
- @mariozechner/pi-coding-agent (npm) Vendor— Affected 0.28.0 – 0.73.1 Fixed in — No fix listed GHSA-r95r-rj6r-c39x
- @earendil-works/pi-coding-agent (npm) Vendor— Affected 0.74.0 to before 0.78.1 Fixed in 0.78.1 Patch available GHSA-r95r-rj6r-c39x
Remediation
- Fix · CNA pi (earendil-works) Fixed in 0.78.1
- Fix · GHSA-r95r-rj6r-c39x @earendil-works/pi-coding-agent (npm) Fixed in 0.78.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-54327
- 2026-10-03 Alias added: GHSA-r95r-rj6r-c39x
References
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-39220 Pi loads project-local extensions without approval CVSS 3.1MEDIUM 4.4
- TI-2026-39221 Pi: Potential XSS in HTML session exports via Markdown URL sanitization bypass CVSS 3.1LOW 2.5
Sources
- CVE-2026-54327 · CVE Program
- CVE-2026-54327 · NVD
- FIRST EPSS
- GHSA-r95r-rj6r-c39x · 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