Read the docs
TI-2026-39222 Aliases CVE-2026-54327GHSA-r95r-rj6r-c39x

Pi: Race condition in auth.json writes could expose stored credentials

Priority LOW 10CWE-367Published · Updated

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

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00093 0th percentileScored 2026-11-07
Fix Fixed pi (earendil-works): 0.78.1@earendil-works/pi-coding-agent (npm): 0.78.1

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

VendorProductAffected versionsFixed inStatusSource
earendil-workspi0.74.0 to before 0.78.10.78.1Patch availableCNA
—@mariozechner/pi-coding-agent (npm)0.28.0 – 0.73.1—No fix listedGHSA-r95r-rj6r-c39x
—@earendil-works/pi-coding-agent (npm)0.74.0 to before 0.78.10.78.1Patch availableGHSA-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

  1. 2026-10-02 Threatist record created from CVE-2026-54327
  2. 2026-10-03 Alias added: GHSA-r95r-rj6r-c39x

References

  • 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