CVE-2025-12748CVE-2025-12748是libvirt项目中的一个安全漏洞,存在于XML文件处理流程中。该漏洞的核心问题在于libvirt在解析用户提供的XML配置文件时,未能在解析之前执行适当的访问控制列表(ACL)检查。这一设计缺陷使得具有低权限的恶意用户能够通过提交特制的XML文件来触发过度的内存分配。由于解析操作发生在权限验证之前,攻击者可以在不拥有管理员权限的情况下,利用精心构造的XML内容导致libvirt进程在宿主机上消耗大量内存资源。过度的内存消耗最终会导致libvirt进程崩溃,从而造成拒绝服务(DoS)条件,影响虚拟化环境的可用性和稳定性。此漏洞需要本地访问权限,但无需用户交互,攻击复杂度较低,具有一定的实际利用价值。
libvirt是一个开源的虚拟机管理和容器化工具,被广泛应用于KVM、Xen、QEMU等虚拟化平台的统一管理。该漏洞的根本原因在于XML解析器在处理用户输入时缺乏安全边界检查。具体来说,当用户提交XML配置文件用于虚拟机定义或管理操作时,libvirt的XML解析组件会立即开始解析流程,而此时尚未执行基于ACL的权限验证。攻击者可以利用这一时间窗口,构造包含大量嵌套元素、重复节点或超大属性值的XML文件。例如,通过使用深层嵌套的XML结构、巨大的属性内容或大量重复的元素声明,可以迫使解析器分配远超正常范围的堆内存。由于解析发生在特权进程上下文中,攻击者无需特殊权限即可触发此行为。最终,过度的内存分配会导致系统内存耗尽,触发OOM Killer或直接造成libvirt守护进程崩溃,影响所有依赖该服务的虚拟机实例。