CVE-2025-54293CVE-2025-54293是Canonical LXD 5.0 LTS版本中存在的路径遍历漏洞,位于日志文件检索功能模块中。该漏洞允许经过身份验证的远程攻击者通过构造恶意的日志文件名或利用符号链接(symlink),读取宿主机系统上的任意文件。
LXD(Linux Container Daemon)是Canonical公司开发的下一代系统容器管理器,广泛用于在Linux系统上创建和管理系统容器。它提供了类似于虚拟机的隔离环境,但更加轻量级,被广泛应用于云原生部署、开发测试环境和CI/CD流水线中。由于LXD通常以root权限运行以管理容器,容器管理守护进程一旦被攻破,将直接威胁宿主机的安全。
该漏洞的CVSS 3.1评分为6.5分,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),但需要低权限认证(PR:L),无需用户交互(UI:N)。漏洞主要影响机密性(C:H),对完整性和可用性无影响。这意味着攻击者可以读取宿主机上的敏感文件,如配置文件、密钥、密码文件等,但无法修改文件或造成服务中断。
该漏洞由Ubuntu安全团队([email protected])发现并报告,于2025年10月2日公开披露。Canonical已发布安全公告GHSA-472f-vmf2-pr3h,并提供了修复版本。建议所有使用LXD 5.0 LTS的用户尽快升级到修复后的版本,以保护宿主机系统的安全。
该漏洞存在于LXD的日志文件检索功能中,具体位于处理日志文件路径的代码模块。当用户通过LXD API请求查看特定实例的日志文件时,系统会根据用户提供的日志文件名构建文件路径,并从宿主机的文件系统中读取相应文件。
漏洞的根本原因在于代码未对用户输入的日志文件名进行充分的路径验证和规范化处理。攻击者可以利用以下两种方式之一实施攻击:
1. **路径遍历字符注入**:攻击者可以在日志文件名中注入路径遍历序列(如"../"),例如构造类似"../../etc/shadow"的文件名。当LXD后端处理该请求时,会将恶意文件名拼接到基础路径中,导致最终路径指向宿主机上的任意文件,而非预期的日志文件目录。
2. **符号链接攻击**:攻击者可以在容器实例内部创建指向宿主机敏感文件的符号链接,然后请求LXD读取该符号链接指向的文件。由于LXD在解析日志文件路径时未正确处理符号链接,可能导致符号链接被解析到宿主机的任意位置。
漏洞利用的前提条件是攻击者需要拥有有效的LXD账户并具有相应的低权限认证(PR:L)。一旦认证通过,攻击者可以通过LXD的REST API或命令行工具(如lxc)发送精心构造的日志检索请求,触发路径遍历,从而读取宿主机上的敏感文件,如/etc/shadow、SSH私钥、配置文件等。
由于LXD守护进程通常以root权限运行,攻击者读取的任意文件也将以root权限进行访问,这大大增加了漏洞的危害程度。