漏洞概述 标题: Predictable temporary extension install paths allow local privilege escalation on shared Linux hosts 描述: Pi 版本使用临时 npm 或 git 扩展包安装,这些包使用操作系统临时目录下的可预测路径。在基于 Linux 的多用户系统中,本地攻击者可以写入共享临时目录,准备预期的扩展包位置,然后在另一个用户运行 pi 时加载攻击者控制的扩展代码。 影响: 本地攻击者可以利用此漏洞,在受害者运行易受攻击的 pi 版本时,通过临时 npm 或 git 扩展包源执行任意扩展代码。 成功利用可导致任意扩展代码以受害者用户身份执行,可能暴露或修改文件,导致服务中断或数据丢失。 影响范围 受影响版本: : >= 0.74.0, = 0.50.0, < 0.73.1 主要影响: Linux 多用户主机,其中操作系统临时目录跨用户共享。 共享开发机器、CI 运行器、HPC 登录节点等环境。 Windows 和 macOS 默认情况下不受影响,除非临时目录被覆盖为共享可写位置。 修复方案 解决方案: 升级到 版本 0.78.1 或更高版本。 使用 的用户应迁移到 包并升级到固定版本。 建议: 在共享 Linux 主机上,避免使用易受攻击版本的临时 npm 或 git 扩展包源。 审查任何第三方扩展在加载前的行为,确保 pi 扩展以完全访问调用者用户账户的方式运行。 临时措施: 如果无法立即升级,避免使用 或 与 npm 或 git 包源。 配置进程临时目录环境变量指向由调用者用户拥有且权限为 0700 的目录。 时间线 2020-05-29: 报告收到 2020-06-02: 修复提交 2020-06-04: 修复版本 0.78.1 发布 2020-06-08: 准备发布公告 参考 GHSA-j9xg-xxw8-mp94 e5345 aa465a a9e8d87 v0.78.1 v0.50.0 v0.74.0 信用 报告者: Paul Urian 和 Cosmin Alexa (CrowdStrike) 其他信息 CVSS v3 基础指标: - 攻击向量: 本地 - 攻击复杂度: 低 - 特权要求: 低 - 用户交互: 需要 - 范围: 未改变 - 机密性: 高 - 完整性: 高 - 可用性: 高 CVE ID: CVE-2020-54328 弱点: CWE-378 报告者: utapanu84