「26.08.25」魔方云 0Day 漏洞披露:被控端 libvirt 无认证暴露高危漏洞
漏洞概述
在魔方云虚拟化环境中发现一处高危 0Day 安全漏洞,由于 libvirt 服务错误配置,导致16509 端口对外无认证暴露,攻击者无需 SSH 账号密码,即可远程接管整台宿主机上全部 KVM 虚拟机,可实现虚拟机操控、虚拟机内 root 命令执行、篡改磁盘镜像等高危操作,且攻击行为不会留存于 SSH 登录日志,隐蔽性极强。
风险等级:严重(Critical) 影响对象:采用魔方云默认配置、开启 libvirt tcp 监听的宿主机 暴露端口:
16509
漏洞成因
错误配置项
libvirt 配置文件内认证参数被设置为关闭 TCP 认证:
auth_tcp = "none"该配置代表 TCP 接入 libvirt 时完全关闭身份校验,任何人连接均可获得完整权限。
同时 libvirt 服务监听在全地址:
0.0.0.0:16509
[::]:16509再加上宿主机防火墙 INPUT 链默认策略为ACCEPT,端口直接对公网开放。 外部扫描即可确认端口公网可达:
IP:16509 EXTERNALLY_OPEN攻击利用链路
攻击者仅需要知道宿主机公网 IP,不需要 SSH 密码、不需要服务器账号,直接使用 libvirt tcp 协议连接:
qemu+tcp://IP/system连接成功后可执行全部高危操作:
查看、启动、关闭、删除宿主机上所有虚拟机
修改任意虚拟机硬件配置
挂载磁盘、ISO 镜像文件
通过 QEMU Guest Agent,在运行中的虚拟机内部直接执行 root 权限命令
虚拟机关机状态下,直接篡改虚拟磁盘镜像文件
⚠️重点:整套攻击流程不会出现在 SSH 登录日志中,管理员很难通过 SSH 日志发现入侵痕迹。
攻击者拿到 libvirt 权限之后,可以横向控制全部客户虚拟机,窃取业务数据、植入后门、销毁业务数据,对 IDC 服务商与租户都造成毁灭性风险。
受影响环境特征
使用魔方云魔方虚拟化管理平台
libvirt 配置设置
auth_tcp = "none"libvirtd 监听
0.0.0.0:16509对公网防火墙未拦截 16509 入站流量
注意:很多运维人员误以为 16509 仅内网使用,平台部署脚本错误直接开启对公网监听,是本次漏洞的根源。
紧急修复方案
cat > /etc/libvirt/libvirtd.conf << EOF
listen_tls = 0
listen_tcp = 1
listen_addr = "127.0.0.1"
auth_tcp = "none"
EOF
systemctl restart libvirtd入侵排查建议
检查所有虚拟机磁盘镜像是否存在异常篡改、新增后门文件
检查 libvirt 日志
/var/log/libvirt/,查看未知来源客户端连接记录所有虚拟机内部全盘查杀后门,即便 SSH 日志没有异常,也不能排除被入侵
特别鸣谢
欢妹(星空云)
xioiox(7iNet)
爱睡觉是天赋(冥雾云)
极点(极点云计算)
智简魔方