CVE-2026-23954CVE-2026-23954是Incus容器和虚拟机管理器中的一个高危安全漏洞,CVSS评分高达8.7。该漏洞影响Incus 6.21.0及以下版本,允许具有启动容器权限的用户(如incus组成员)利用模板功能中的目录遍历或符号链接漏洞,实现主机任意文件读写访问,最终获得主机上的任意命令执行权限。漏洞的核心问题在于当使用包含模板的metadata.yaml镜像时,系统未对源路径和目标路径进行符号链接或目录遍历的安全检查。攻击者可以通过构造恶意镜像或利用现有镜像的模板配置,绕过容器隔离边界,访问宿主机文件系统中的敏感文件,甚至写入恶意内容实现远程代码执行。此漏洞同样影响基于Incus构建的IncusOS系统。官方计划在6.0.6和6.21.1版本中修复此问题,但在修复发布前,所有使用受影响版本的用户都面临严重安全风险。
该漏洞存在于Incus的模板处理功能中,具体位于LXC驱动程序的driver_lxc.go文件(第7215行和第7294行附近)。漏洞原理如下:
1. **漏洞位置**:当Incus处理镜像中的metadata.yaml模板配置时,会根据模板定义读取源文件并写入目标路径。代码在处理这两个路径时未进行充分的安全验证。
2. **路径遍历漏洞**:攻击者可以在源路径或目标路径中使用../等目录遍历序列,突破预期的目录边界。例如,目标路径设置为../../etc/cron.d/malicious可向系统关键目录写入文件。
3. **符号链接利用**:代码未检查路径中是否存在符号链接,攻击者可创建符号链接指向宿主机上的任意文件,然后通过模板功能读取其内容或覆盖其内容。
4. **利用场景**:攻击者首先创建一个包含恶意模板配置的镜像,镜像的metadata.yaml中定义了利用目录遍历或符号链接的模板项。当Incus处理该镜像启动容器时,模板功能会被触发,执行非授权的文件操作。
5. **权限要求**:攻击者只需具有incus组 membership,即能够启动自定义镜像的权限,无需root权限即可实施攻击。
6. **影响后果**:通过任意文件读取可获取SSH密钥、配置文件、凭据等敏感信息;通过任意文件写入可修改cron任务、SSH authorized_keys、sudoers配置等,最终实现以root权限在宿主机执行任意命令。