从截图中获取的漏洞关键信息 漏洞概述 漏洞类型: Zip Slip Path Traversal 漏洞描述: 在Zed扩展归档文件提取功能中存在路径遍历漏洞,允许恶意扩展通过下载并提取特制的ZIP归档文件往指定沙盒目录外写文件。 CVE ID: CVE-2026-27800 CWE ID: CWE-22 - Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') 漏洞严重性 严重等级: 高 (CVSS 7.5-8.5) CVSS v3 Base Metrics: - 攻击向量: 网络 - 攻击复杂度: 低 - 所需权限: 无 - 用户交互: 必须 - 作用范围: 变更 - 保密性影响: 无 - 完整性影响: 高 - 可用性影响: 无 漏洞细节 漏洞代码位置: crates/util/src/archive.rs (Windows实现第20-25行, Unix实现第82-87行) 根本原因: 代码在提取ZIP文件中的文件名时没有验证路径遍历序列,导致恶意文件能够被写到指定目录外。 现有沙盒验证为何无效: Zed在crates/extension_host/src/wasm_host.rs中通过writable_path_from_extension实现了沙盒验证,但只适用于目的地目录参数,不适用于ZIP档案中的单个文件名。 证明概念 (PoC) 前提条件: - 安装了Zed - Python 3 (用于恶意HTTP服务器) - Rust工具链 步骤: 1. 创建恶意HTTP服务器 2. 创建恶意扩展 3. 在Zed中安装扩展 4. 验证利用操作 修复建议 在crates/util/src/archive.rs中的文件创建之前添加路径遍历验证,同时应用于Windows和Unix实现。 参考文献 CWE-22: Improper Limitation of a Pathname to a Restricted Directory Synk Zip Slip Vulnerability CVE-2025-29787 - Rust zip crate Path Traversal GHSAdvisory ID