CVE-2026-20613CVE-2026-20613是Apple Container项目中的一个高危安全漏洞。该漏洞存在于ArchiveReader.extractContents()函数中,该函数被cctl image load和container image load命令调用。问题核心在于函数在提取归档成员之前没有进行路径名验证,这意味着攻击者可以精心构造一个包含相对路径文件名的归档文件,利用目录遍历技术将文件提取到系统上任何用户可写入的位置。攻击者可以通过创建包含如../../../../etc/cron.d/malicious等路径的恶意归档文件,实现任意文件写入,从而可能获取系统持久化访问权限、执行恶意代码或破坏系统完整性。该漏洞的CVSS评分为7.8,属于高危级别,攻击向量为本地攻击,需要用户交互但无需认证即可利用。由于容器镜像加载功能通常由具有较高权限的用户操作,漏洞的潜在影响包括机密性、完整性和可用性三个方面均受到严重影响。Apple已在container 0.8.0和containerization 0.21.0版本中修复了此问题。
漏洞根源在于Apple Container的ArchiveReader.extractContents()函数缺少路径遍历防护机制。该函数在处理归档文件(如tar、zip等)时,直接使用归档成员中存储的文件名进行文件提取操作,而没有验证提取路径是否在预期目录范围内。攻击者可以构造包含相对路径遍历序列(如../)的特殊归档文件,当函数执行提取操作时,这些带有../的文件路径会绕过目标目录限制,将文件写入到系统任意位置。例如,归档中包含名为../../../../root/.ssh/authorized_keys的文件,提取时会覆盖或创建SSH授权密钥文件,从而实现SSH无密码登录。攻击者还可以利用此漏洞覆写系统配置文件、计划任务或启动脚本,实现权限提升和持久化控制。漏洞利用需要攻击者诱使受害者加载其构造的恶意容器镜像,攻击复杂度较低但需要用户交互。