Description
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.
CVSS breakdown
CVSS 3.1
Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None
Affected products
- earendil-works / pi< 0.79.0 – < 0.79.0
References
- VENDOR_ADVISORYhttps://github.com/earendil-works/pi/security/advisories/GHSA-mqxh-6gq7-558m
- PATCHhttps://github.com/earendil-works/pi/commit/38f18be44727e669eb0a6e2eb8edb51b0232d83c
- PATCHhttps://github.com/earendil-works/pi/commit/718215bd95b6fc6fa251580d27ea8aab857de390
- PATCHhttps://github.com/earendil-works/pi/commit/89a92207f1c9303d53d822fd9b0ac21578834cb4
- PATCHhttps://github.com/earendil-works/pi/commit/ce3a72444e1cc1eaa50475fb3378c7ffbb53ef49
- PATCHhttps://github.com/earendil-works/pi/commit/ff3e9df5f5b32368c20b0ef553a6834b3dee9350
- PATCHhttps://github.com/earendil-works/pi/releases/tag/v0.79.0