Finding / pi-coding-agent
2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisory
Hygiene fixes shipped as release notes, again with no advisory. Before 1.0.3, some bash/PowerShell overflow and binary MCP resource output files used default process permissions. Under umask 022 on a shared temp filesystem, another local user could read them. From 1.0.3 new files use 0600 and exclusive wx creation. The old output names already used randomness. June’s GHSA-jfgx-wxx8-mp94 / CVE-2026-54328 was a different mechanism: a local attacker could preplant extension code in a predictable directory and execute it as the Pi user. The October change establishes output confidentiality and exclusive creation, not that same code-execution exploit. No new Pi-repository advisory was found for the output-file or dotenv fixes; the brace-expansion dependency fixes explicitly address three GHSAs. These allow CPU/event-loop exhaustion (GHSA-q2hr-2g5m-vwhr / CVE-2026-102277, fixed in 5.0.12), nested-expansion stack exhaustion (GHSA-qhr7-859c-m2p7 / CVE-2026-102278, fixed in 5.0.11), and recursive-comma/argument stack exhaustion (GHSA-6j4f-fj2g-mc7p / CVE-2026-102276, fixed in 5.0.10). Pi 1.0.1 pins 5.0.12 and covers all three availability defects; none establishes credential theft or arbitrary code execution.
Channel: tagged-release (v1.0.0 to v1.2.0). Half: defect. Date: 2026-10-05.
Operator consequence: On shared Linux hosts, move to 1.0.3 or later and clear old pi-bash-*, pi-output-*, pi-powershell-* and pi-mcp-* files from /tmp. Track release notes, not the advisory feed: the repository has published no advisory since 8 June while shipping these fixes.
Receipt
- https://github.com/earendil-works/pi/commit/d677d0ee7134f834dfc163bf6bdb395df9e57c6b
- https://github.com/earendil-works/pi/blob/v1.2.0/packages/coding-agent/src/utils/output-files.ts#L14-L34
- https://github.com/earendil-works/pi/releases/tag/v1.0.1
- https://github.com/advisories/GHSA-qhr7-859c-m2p7
- https://github.com/earendil-works/pi/security/advisories
- https://github.com/advisories/GHSA-q2hr-2g5m-vwhr
- https://github.com/advisories/GHSA-6j4f-fj2g-mc7p
- https://github.com/advisories/GHSA-jfgx-wxx8-mp94
Finding metadata
Run: 2026-10-13-profile-refresh-2026-09-21_2026-10-13-frontier-v0
Finding ID: 2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisory
Profile citations
- Pi Coding Agent / claim / private-output-files
- Pi Coding Agent / posture / governance
Source links
Primary links, including exact changelog lines when available.
- commit2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisorygithub.com/earendil-works/pi/commit/d677d0ee7134f834dfc163bf6bdb395df9e57c6btagged commit file2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisoryearendil-works/pi / packages/coding-agent/src/utils/output-files.ts#L14-L34github release2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisoryearendil-works/pi / v1.0.1official docs2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisorygithub.com/advisories/GHSA-qhr7-859c-m2p7official docs2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisorygithub.com/earendil-works/pi/security/advisoriesofficial docs2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisorygithub.com/advisories/GHSA-q2hr-2g5m-vwhrofficial docs2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisorygithub.com/advisories/GHSA-6j4f-fj2g-mc7pofficial docs2026-10-13-pi-coding-agent-hygiene-fixes-shipped-as-release-notes-again-with-no-advisorygithub.com/advisories/GHSA-jfgx-wxx8-mp94