文章总结: 本文分析VMwarevCenterServerSyslog组件目录遍历漏洞CVE-2026-59310,CVSS评分9.8,可致未认证远程代码执行。漏洞源于配置模板未净化RFC5424头字段,攻击者可写入任意文件并借cron实现RCE。该漏洞已遭APT组织利用并投递勒索软件。建议立即升级至修复版本,排查cron目录异常文件、SSH密钥变更等入侵痕迹。 综合评分: 95 文章分类: 漏洞分析,应急响应,漏洞预警,红队
CVE-2026-59310 | VMware vCenter远程代码执行漏洞(POC)
alicy alicy
信安百科
2026年9月27日 09:00 河北
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
免责声明:本文仅用于安全研究与防御学习,漏洞技术细节均来源于公开可查证的安全研究资料,不涉及任何未公开攻击细节。请勿将相关技术用于非法用途。
#
0x00、前言
VMware vCenter Server 是 VMware 虚拟化体系的中枢管理平台,统一纳管 ESXi 主机、虚拟机、存储与网络,广泛部署于金融、电信、政企等行业的核心数据中心,堪称虚拟化基础设施的”总控制台”。
2026 年 7 月 29 日,Broadcom 在安全公告 VMSA-2026-0006 中披露了 vCenter Syslog Server 组件的一个目录遍历漏洞 CVE-2026-59310,CVSS 3.1 高达 9.8 分。
令人警醒的是,补丁发布仅仅 5 天后,该漏洞即遭疑似 APT 组织大规模武器化利用——截至 8 月 7 日,47 个国家的 361 个受害 IP 被确认,部分主机还被投递了 Babuk 衍生勒索软件。一个”日志服务”的路径校验疏漏,为何能撬动整个虚拟化管理平面?本文结合最新公开的补丁级分析,带你拆解到代码行。
0x01、漏洞描述
CVE-2026-59310 是一个典型的路径遍历漏洞(CWE-22),缺陷位于 vCenter Server Appliance(VCSA)内置的 Syslog 接收组件。
该组件在接收远程 Syslog 消息时,将消息头中攻击者可控的 ../ 路径遍历序列直接拼入磁盘落盘路径,写入动作因此可逸出预定的日志目录。
由于 Syslog 服务以高权限账户运行,未认证的远程攻击者只需网络可达 vCenter 的任一 Syslog 监听端口,即可向 /etc/cron.d/ 等敏感位置投递内容可控的文件,进而借 cron 调度实现 root 权限的任意代码执行(RCE)。
0x02、CVE 编号
| 项目 | 内容 | | — | — | | CVE 编号 | CVE-2026-59310 | | 漏洞类型 | 目录遍历(CWE-22)→ 任意代码执行 | | CVSS 3.1 | 9.8(Critical),AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | | 受影响组件 | vCenter Syslog 接收器(VMware 自带 rsyslog 配置模板) | | 厂商公告 | VMSA-2026-0006(2026-07-29 披露) |
#
0x03、影响版本
| 产品 | 受影响版本 | 修复版本 | | — | — | — | | vCenter Server 8.0(分支一) | 8.0 至 8.0 U3j(含 8.0.3.00900,build 15564605) | 8.0 U3k(8.0.3.01000,build 15566761) | | vCenter Server 8.0(分支二) | 8.0 U2e 及更早 | 8.0 U2f | | vCenter Server 9.0.x | 低于 9.0.2.0100 | 9.0.2.0100 | | vCenter Server 9.1.x | 低于 9.1.0.0300 | 9.1.0.0300 | | Cloud Foundation | 5.x / 9.0.x / 9.1.x | 经 VCF 生命周期管理器应用对应 vCenter 补丁 | | vSphere Foundation / Telco Cloud Platform | 9.0.x / 9.1.x;Telco 3.0 至 5.1.x | 参照厂商公告对应版本 |
#
0x04、漏洞详情
4.1 漏洞根因:四行配置模板的疏漏
法国安全研究人员通过对比 8.0.3.00900 与 8.0.3.01000 两个构建的全量文件差异完成了根因定位:
上游 rsyslog 的 RPM 包在漏洞版与修复版中 SHA-256 完全一致,排除了 rsyslog 自身的问题——缺陷出在 VMware 自带的配置模板 /usr/lib/vmware-visl-integration/config/vmware-syslog.conf.template。
其中四个 dynafile 模板把 syslog 消息头里攻击者可控的 %app-name% 与 %hostname% 字段,未经任何净化直接拼接为磁盘落盘路径:
# /usr/lib/vmware-visl-integration/config/vmware-syslog.conf.template
$template defaultLoc,"/var/log/vmware/%app-name%/%app-name%-syslog.log"
$template vpxdLoc,"/var/log/vmware/%app-name%/%app-name%-syslog.log"
$template rsyslogadminLoc,"/var/log/vmware/%app-name%/%app-name%-syslog.log"
$template esxLoc,"/var/log/vmware/esx/%hostname%/%hostname%-syslog.log"
根因可拆成三层:
其一,HOSTNAME 与 APP-NAME 只是 RFC 5424 报文头中的明文 token,任何发送者都能任意填写,拼入路径前既无白名单也无遍历检查;
其二,拼接结果被直接交给 rsyslog 的 omfile dynafile 写入器,.. 序列原样进入文件系统解析,缺少路径规范化环节;其三,$CreateDirs 默认开启,写入器还会为遍历出的路径自动创建父目录、再创建或追加最终文件。三层叠加,构成了”未认证、任意路径、内容可控”的文件写入原语。
官方补丁本身即是这条数据流最直接的证据:8.0.3.01000 的修复仅是给四个模板的全部字段统一套上 rsyslog 内置的 secpath-replace 属性替换器——它会在值进入模板前剥离并中和 .. 与路径分隔符序列,ruleset 与写入器未做任何其他改动:
# 官方修复(8.0.3.01000 diff):为插值字段套上 secpath-replace
%app-name% → %app-name:::secpath-replace%
%hostname% → %hostname:::secpath-replace%
# 应用范围:以下四个 dynafile 模板的全部插值字段
defaultLoc / vpxdLoc / rsyslogadminLoc / esxLoc
# 效果:值进入模板前,.. 与路径分隔符序列被剥离中和
(代码较长,可左右滑动查看完整内容)
4.2 从一条 Syslog 消息到任意文件写入
Mobeta的研究员同时还原了从一条网络消息到文件落盘的完整路径。入口是三个均无需认证的监听器:UDP/514、明文 TCP/514(imptcp)与 TLS TCP/6514(imtcp)。
消息落入 ruleset 后,命中绑定在最后的无条件路由规则——判定条件仅是 HOSTNAME 不等于 vCenter 自身主机名,任何外部发送的消息天然满足,攻击者连 APP-NAME 都无需伪造:
# ruleset 末条规则:HOSTNAME 不等于 vCenter 自身主机名即命中
if ($hostname != $$myhostname) then ?esxLoc;esxFmt
# 三个监听器(UDP/514、TCP/514、TCP/6514)均绑定该 ruleset
$InputPTCPServerBindRuleset all
$InputUDPServerBindRuleset all
落盘内容由 esxFmt 模板决定:时间戳、级别、HOSTNAME、APP-NAME 依次排开,而 %msg% 是攻击者的 MSG 正文——任意字节、逐字写入。结合 esxLoc 的路径结构,攻击载荷与写入结果如下:
# 落盘内容模板:MSG 正文为攻击者任意可控内容
# (原模板为单行,此处因排版折行展示)
$template esxFmt,"%timestamp:::date-rfc3339%
%syslogseverity-text% %hostname% %app-name% %msg%\n"
# 攻击载荷:HOSTNAME 字段的取值
H = "../"*16 + "opt/vmware/share/htdocs/configurev2/MOBETA"
# 写入结果(经 VAMI HTTPS 端口 5480 可直接读回)
https://<vcenter>:5480/configurev2/MOBETA-syslog.log
(代码较长,可左右滑动查看完整内容)
精妙之处在于 esxLoc 模板把 HOSTNAME 拼了两次:一次作为目录、一次作为文件名前缀,且两个展开处于不同的文件系统深度(分别为 4 层与 6 层)。
攻击者利用”过多的 ../ 在根目录处会被吸收为空操作”这一文件系统特性,用 16 个前导 ../ 超量覆盖两个起点:目录展开触底后推入正向路径,由 rsyslog 自动创建为目录;文件展开从新目录触底后走相同正向路径,最终把 MOBETA-syslog.log 写进 /opt/vmware/share/htdocs/configurev2/。一个固定值、发送一次,即可确定性地在攻击者选定的路径写出内容可控的文件。
更方便的是,/opt/vmware/share/htdocs/ 恰好是 VAMI(vCenter 设备管理界面,TCP/5480)的静态文档根——种植的文件无需任何后续步骤,即可通过 HTTPS 直接读回验证。
至于从任意文件写入升级到 RCE,Mobeta 明确表示已成功实现、但不公开完整利用链,仅指出 CGI 可执行目录与 cron drop-in 是两个显然的落点方向;而在野攻击者选择的正是后者——这与 QUIRSO 的取证完全吻合。
4.3 检测规则参考
针对防御方,YARA 规则如下:
rule CVE_2026_59310_vCenter_Syslog_PathTraversal
{
meta:
reference = "https://www.vmware.com/security/advisories/VMSA-2026-0006.html"
strings:
$rfc5424_hdr = /^<[0-9]{1,3}>1 /
$trav_bare = "../../" ascii
$trav_pct_lo = "%2e%2e%2f" ascii
$trav_pct_up = "%2E%2E%2F" ascii
$path_htdocs = "opt/vmware/share/htdocs" ascii
$path_conf2 = "configurev2" ascii
condition:
$rfc5424_hdr and
( $trav_bare or $trav_pct_lo or $trav_pct_up ) and
( $path_htdocs or $path_conf2 )
}
(代码较长,可左右滑动查看完整内容)
#
(图片来源于网络)
#
0x05、个人观察与判断
对设计缺陷的点评:缺陷不在 rsyslog 上游,而在 VMware 自家的一行配置模板:把未认证的 RFC 5424 头字段直接拼进落盘路径。修复仅是给字段套上 secpath-replace——一行净化的缺失,代价却是整个管理平面沦陷。
对行业趋势的思考:披露到在野利用的窗口已压缩至 5 天,远短于多数企业的补丁测试周期;虚拟化管理平面正被当作 Tier-0 高价值跳板,”APT 渗透 + 勒索烟幕”的组合战术料将常态化。
可落地的排查建议:立即核对版本并升级;排查 /etc/cron.d/ 异常文件、伪装 vmware-perf-* 的任务、root 公钥变更、陌生 SSO 管理员账户、vCenter 出站 SSH/WebSocket 连接,以及 VAMI Web 根下 rsyslogd 新建的 *-syslog.log 文件。
附一段可直接在 VCSA 上执行的排查命令参考:
# VCSA 排查命令参考
ls -la /etc/cron.d/
grep -rE 'poc59310|vmware-perf|vpxd-stats' /etc/cron.d/ /etc/systemd/system/ 2>/dev/null
cat /root/.ssh/authorized_keys
find / -name "*.babyk" -o -name "vmware-perf-update.jsp" 2>/dev/null
find /opt/vmware/share/htdocs/ -name "*-syslog.log" 2>/dev/null
ss -ntp | grep -E ':22|:8080'
(代码较长,可左右滑动查看完整内容)
#
0x06、参考链接
- Broadcom 安全公告 VMSA-2026-0006:
https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/SecurityAdvisories/0/38017
官方漏洞公告与修复版本说明(厂商公告)
- Mobeta 补丁级技术分析:
https://mobeta.fr/blog/vcenter-cve-2026-59309-cve-2026-59310/
补丁 diff 定位、漏洞根因与检测规则(核心技术分析)
3.Github项目地址:
https://github.com/Rubby2001/CVE-POCS/blob/main/CVE-2026-59310/poc.py
— END —
如果觉得有帮助,点个红心❤支持一下吧。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:信安百科 alicy alicy《CVE-2026-59310 | VMware vCenter远程代码执行漏洞(POC)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。












评论