我们的 AI 引擎 Neutron 在加州大学伯克利分校的 CyberGym 基准测试中取得了 97.1% 的成绩。 了解更多

深度解析

深度解析

Ivanti Connect Secure 零日漏洞链被利用,可获 root 权限(CVE-2026-104935)

三个漏洞串联即可在 Ivanti Connect Secure 上以未认证方式获得 root 执行;请升级到 22.8R2.6 或 25.1.1.3,并排查 10 月的利用痕迹。

摘要

  • 三个漏洞串联后,未认证攻击者可在 Ivanti Connect Secure VPN 设备上以 root 执行命令。Volexity 于 2026 年 10 月 13 日公布了该漏洞链以及其追踪为 UTA0576 的攻击者。
  • 只要攻击者能够通过网络访问 Web 界面,受影响版本上的 Ivanti Connect Secure 设备就会暴露,因为入侵入口既不需要凭据,也不需要用户交互。
  • 自 2026 年 10 月起已在野外被利用。CISA 分别于 2026-10-13、2026-10-30 和 2026-10-30 将漏洞链的三个 CVE 加入 KEV 目录;最新两项的联邦期限为 2026-11-02 和 2026-11-13。
  • 22.8R2 线请升级到 22.8R2.6,25.1.1 线请升级到 25.1.1.3,然后按"如何修复?"和"如何检查是否已被入侵?"的方法排查入侵痕迹。

我受影响吗?

以下条件必须全部成立:

  • 您运行物理、虚拟或云端的 Ivanti Connect Secure 设备,且攻击者能够通过网络访问其 Web 界面。
  • 设备运行受影响版本:就 10 月 29 日的修复范围而言,22.8R2 线为 22.8R2.5 及更早,25.1.1 线为 25.1.1.2 及更早。仅 CVE-2026-104935 还影响 25.1.1.1 及更早和 25.1.2.2 及更早。
  • 发起漏洞链不需要任何凭据,您这边也没有任何用户需要交互。Volexity 观察到的攻击者利用的是一台完全打过补丁的 22.8R2.4 设备,是该线当时的最新版本。
产品线 受影响版本 修复版本
22.8R2(2027-01-31 停止支持) 22.8R2.5 及更早 22.8R2.6
25.1.1 25.1.1.2 及更早 25.1.1.3
25.1.2 25.1.2.2 及更早(仅 CVE-2026-104935) 遵循 Ivanti 升级指南
25.1.3 未列出漏洞链影响 25.1.3.0 已含内部修复

修复版本各行来自 The Hacker News 于 2026 年 10 月 31 日引用的 Ivanti 公告以及 CVE 记录。在可获得的资料中,25.1.2 一行仅受 CVE-2026-104935 影响。该线和 25.1.3 分支上的读者应遵循 CISA 10 月 13 日警报所链接的 Ivanti 升级与迁移兼容性指南。CVE-2026-104935 的记录还说明 22.7R2.14 及更早不受该漏洞影响。

Ivanti Connect Secure 是部署在网络边界的企业 VPN 设备。对外暴露的接口和存储的凭据使其成为高价值目标。

要检查安装的版本,请在 Connect Secure 管理控制台的仪表板中读取,并与表格比对。仪表板显示您当前登录设备上的版本,因此每台设备或每个集群成员都要重复检查。

如何修复?

  1. 将每台受影响设备升级到 22.8R2 线的 22.8R2.6 或更高,或 25.1.1 线的 25.1.1.3 或更高。2026 年 10 月 13 日的补丁修复了 CVE-2026-104935,10 月 29 日的补丁修复了 CVE-2026-111357 和 CVE-2026-118527。
  2. 根据 CISA 10 月 13 日的警报,22.8R2 线将于 2027 年 1 月 31 日停止支持。现在就规划迁移到受支持的线,而不是反复给旧线打补丁。
  3. 把升级当作入侵响应,而不只是打补丁。CISA 10 月 13 日的警报给出了发现入侵组织的处置步骤。若怀疑入侵,应先与响应团队保全内存、磁盘和网络证据,再重置或升级。先备份配置,将设备恢复出厂或重建,升级后再恢复配置。随后重置所有密码、存储的证书、API 密钥和许可证凭据。

Ivanti 的公告没有列出任何临时规避方案,因为入侵入口是 VPN 必须公开的公共登录页。Volexity 建议一个临时检测措施:监视携带 X-DSCGI-PATH 头的大量发往 /dana-na/auth/url_default/welcome.cgi 的请求。同时对 URL 路径与该头不匹配的情况告警。该措施只覆盖已知的入口路径,不能替代升级。

根本原因是什么?

漏洞链之所以成立,是因为三个相互独立的信任判断排到了一起。设备依据客户端可控的请求头来路由请求。上传处理器在验证之前就写文件。root 服务信任一个已被入侵的进程可以修改的配置存储。由于 UTA0576 删除了设备自身的日志,Volexity 通过内存和核心转储取证重建了全部三点。

  1. 认证绕过。 发往公共登录页 /dana-na/auth/url_default/welcome.cgi 的请求无需认证即可放行。该请求携带头 X-DSCGI-PATH: /home/webserver/htdocs/dana/fb/smb/wu.cgi,指向在受信任上下文中执行的内部 CGI 脚本。设备用 URL 判断请求是否被允许,却用这个头决定请求去向。

  2. 远程代码执行。 wu.cgi 的上传处理器接受以 .zip 扩展名命名的 Perl 脚本。它计算客户端所提供文件名的 MD5 哈希,并把上传内容写入 /home/runtime/tmp/<MD5(filename)>。处理器在写完文件之后才检查它是否为有效 ZIP 并将其删除。在删除前的短暂窗口内,攻击者并行发送 X-DSCGI-PATH 头指向上传路径的请求,脚本便以 cgi-server 用户执行。

  3. 提升到 root。 设备运行 dsinvoked,一个以 root 执行维护任务的后台特权服务。它在 DSCache(共享配置存储)中查找每个任务的程序。攻击者的代码给自己进程内存中的 Ivanti 库 /home/lib/libdsplibs.so 副本打补丁,从而能够修改 DSCache。接着它把一个已存在的维护任务改为启动 Perl 解释器,而不是 /home/bin/updateOpswatSDK.pl。当 dsinvoked 运行该任务时,攻击者的脚本以 root 执行,并通过读取 /etc/shadow 确认成功。

每条命令执行后,载荷会恢复 DSCache 条目,并通过 /proc/self/mem 恢复库补丁。它还会从 /home/runtime/dlogs/debuglog 和 /var/log/audit/audit.log 中删除对应条目。Ivanti 把前两个漏洞归入 CVE-2026-104935,提权漏洞是 CVE-2026-111357。CVE-2026-118527 覆盖让攻击者知道上传落在何处的可预测文件位置。

如何被利用?

  1. 攻击者不需要凭据,向公共登录脚本 /dana-na/auth/url_default/welcome.cgi 发送 X-DSCGI-PATH 指向 wu.cgi 的请求。
  2. 通过这条受信任路径,攻击者上传一个文件名以 .zip 结尾的 Perl 脚本,处理器将其写入可预测路径 /home/runtime/tmp/<MD5(filename)>。
  3. 在 ZIP 验证删除文件之前,并行请求通过同样的头技巧到达上传路径,并以 cgi-server 身份执行。
  4. Perl 阶段运行 Bash 脚本,后者在内存中解码并执行 zlib 压缩、Base64 编码的 Python 脚本,原始脚本从不落盘。
  5. Python 阶段给内存中的库打补丁,重定向 DSCache 中的维护任务并请求 dsinvoked 运行它,执行以 root 进行。
  6. 攻击者的每条命令都会重新执行整条漏洞链,结果通过 HTTP 响应返回,该事件中未发现持久化 Web shell 或后门。

Volexity 从 2026 年 10 月 3 日起观察到 UTA0576 利用这条链。上述步骤来自其对回收载荷的分析;该次调查未发现持久化 Web shell 或后门。

攻击如何展开?

一个借用公共登录页信任的未认证请求到达内部上传处理器,在与删除的竞速中获胜,再经由 root 服务升级,最终完全控制设备。

flowchart LR A["发往 welcome.cgi 的
未认证请求"] --> B["X-DSCGI-PATH 头
路由到 wu.cgi(缺少校验)"] B --> C["以 .zip 文件名上传
Perl 脚本"] C --> D["验证前写入可预测路径
(竞速窗口)"] D --> E["脚本以 cgi-server
用户执行"] E --> F["DSCache 任务被重定向
到 Perl 解释器"] F --> G["dsinvoked 以 root
运行该任务"] G --> H["窃取凭据和 AD 数据,
删除日志"]

攻击者能做什么?

这条链在设备上产生未认证的 root 级命令执行,对机密性、完整性和可用性具有完全影响。Ivanti 的 CVE 记录将 CVE-2026-104935 评为 CVSS v3.1 8.6,CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L。单看提权漏洞为 CVSS v3.1 7.0,CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H(依据其记录),因为单独利用它需要先在设备上取得立足点。

取得 root 后,UTA0576 做了以下事情,全部由 Volexity 记录:

  • 提取设备上存储的凭据,包括用于 LDAP 的域凭据。
  • 导出并外传有限的 Active Directory 元数据,并利用设备自身的服务账户查询目录。
  • 部署了带 Kerberoast 能力的定制 Kerberos 工具,以及搜索 LAPS 本地管理员密码、BitLocker 恢复密钥和含密码用户属性的定制 Python LDAP 工具。
  • 进行密码喷洒,解析本地认证日志寻找有效用户名,并捕获设备的 LDAP 流量以收集明文凭据和 NTLM 哈希。
  • 外传设备配置(包括其认证方式),并进行本地 DNS 和主机侦察。

攻击条件很窄且对攻击者有利:唯一前提是网络可达 Web 界面。Volexity 以中等置信度评估 UTA0576 在构建漏洞链时借助了大语言模型,以低置信度评估其动机是犯罪而非间谍活动。Volexity 观察的行动已被阻断,最终目的仍不清楚。

修复为何有效?

2026 年 10 月 13 日的补丁关闭了入侵入口。此后,让公共 URL 通过 X-DSCGI-PATH 头抵达内部 CGI 脚本的路由缺陷不再起效,上传和执行阶段无法启动。Ivanti 的代码变更未公开,因此无法对照 diff 验证。10 月 29 日的补丁修复 CVE-2026-111357,关闭了被入侵进程经 DSCache 到 root 的路径。它还修复了可预测上传位置的 CVE-2026-118527。

Ivanti 表示它在内部发现了部分漏洞,并在 2026 年 7 月的 25.1.3.0 版本中修复,发生利用时正在向其他受支持版本回移修复。该公司解释说,它先发布 CVE-2026-104935 的修复,是因为该漏洞是主要利用路径。因此提权漏洞在 2026 年 10 月 13 日至 10 月 29 日的 16 天里在 22.8R2 线上未修复。10 月 13 日打过补丁的设备可防住远程入口,但在该窗口内任何其他代码执行立足点仍可提升到 root。

如何检查是否已被入侵?

先检查保留请求头的 HTTP 遥测,例如已有的代理日志或网络捕获。设备的普通访问日志可能不保留 X-DSCGI-PATH,导出这些日志并不保证能检测到漏洞链。以下示例适用于包含请求头的未压缩文本日志,依据 Volexity 的监控建议编写:

grep -ai "X-DSCGI-PATH" *.log* | grep -a "welcome.cgi"

grep -a "X-DSCGI-PATH: /home/webserver/htdocs/dana/fb/smb/wu.cgi" *.log*
grep -a "X-DSCGI-PATH: /home/runtime/tmp/" *.log*

匹配结果表示可疑请求,并不能证明路由或代码执行成功。应结合其他证据调查。同一来源反复请求 /dana-na/auth/url_default/welcome.cgi 也是线索。

接着在每台设备上查找 Volexity 回收的入侵后痕迹:

ls -la /tmp/        # ml.py, rq5.py, mk.py, rr.py, sp_run.py, sp_out.txt, spray_hits.json
ls -la /data/.icscap/   # h.py, dsstatmond, cap0–cap7

Volexity 观察到的攻击者操作主机为 108.165.147[.]64。截至 2026 年 10 月 14 日,Previdian 的蜜罐记录了来自 50 个地址的 105 次利用尝试,包括 216.73.160[.]59、216.73.160[.]61、216.73.160[.]210 和 45.8.19[.]111。

这些检查有两个局限。载荷会从设备的调试和审计日志中删除自己的条目,因此日志干净并不能证明安全。Ivanti 的 Integrity Checker Tool 无法排除此类利用:库补丁位于内存中,DSCache 的更改会被恢复。但临时载荷和入侵后工具仍可能写入磁盘。Volexity 和 CISA 都说明确认入侵需要网络和内存取证。CISA 的完整处置步骤见"如何修复?"。

从 10 月 1 日首次利用到 10 月 30 日加入 KEV 的时间线,显示入口修复与提权修复之间相隔 16 天。
图 1:该漏洞链在 10 月 13 日入口修复之前就已被野外利用,而 root 提权又多保持了 16 天未修复。来源:Volexity、CISA KEV 目录和 The Hacker News,2026 年 10 月 31 日核对。

时间线

  • 2026-10-01:Defused Cyber 记录到针对其诱饵的披露前利用尝试,评估为 CVE-2026-104935。
  • 2026-10-03:UTA0576 开始反复利用该漏洞链攻击 Volexity 客户的设备,版本为当时最新的 22.8R2.4 build 19097。
  • 2026-10-05:Volexity 展开调查,从内存和核心转储重建漏洞链。
  • 2026-10-13:Ivanti 发布 CVE-2026-104935 的修复,Volexity 公布漏洞链分析,CISA 将其加入 KEV,期限 2026-10-16。
  • 2026-10-14:Previdian 报告蜜罐传感器遭到来自 50 个 IP 地址的 105 次利用尝试。
  • 2026-10-15:MITRE 发布 CVE-2026-111357 的 CVE 记录,说明该漏洞已在野外被利用。
  • 2026-10-29:Ivanti 发布 CVE-2026-111357 和 CVE-2026-118527 的补丁,版本为 22.8R2.6 和 25.1.1.3。
  • 2026-10-30:CISA 将漏洞链两个 CVE 加入 KEV,联邦期限为 2026-11-02 和 2026-11-13。

常见问题

仅限内网的设备也需要修复吗?

需要,只要网络攻击者能够访问其 Web 界面,包括通过跳板机网络或错误暴露。漏洞链的第一个请求发往公共登录页,不需要 VPN 账户或事先访问。如果界面确实不可达,风险缩小为内部人员和已横向移动的攻击者,升级仍然是解决办法。

我在 10 月 13 日为 CVE-2026-104935 打了补丁,完成了吗?

只有在之后达到了 22.8R2.6 或 25.1.1.3 才算完成。10 月 13 日的补丁关闭了远程入口,但提权漏洞直到 10 月 29 日才修复。核对版本、完成升级,并记住在该窗口内设备上任何其他代码执行立足点都可能提权。

Integrity Checker Tool 能确认设备干净吗?

不能。该利用只对内存中的库代码打补丁并恢复配置存储,因此完整性检查无告警并不能排除入侵。Volexity 指出,确认入侵需要对内存、磁盘和网络证据的取证调查,而 UTA0576 从 Ivanti 调试日志和 Linux 审计日志中都删除了自己的条目。

为什么我看到的 CVE-2026-111357 分数不同?

MITRE 发布并于 2026 年 10 月 31 日更新的 CVE 记录将其评为 CVSS v3.1 7.0,向量同上。10 月 31 日的一些报道对同一漏洞写 8.8。本文以 CVE 记录为第一来源,CISA 的富化数据也基于它。该分数只在单独看待时才有意义,因为漏洞链的入口完全不需要凭据。

这是勒索软件还是间谍活动?

两者都未确认。Volexity 以低置信度评估 UTA0576 出于犯罪动机,观察到的行为是为横向移动做准备:窃取凭据、侦察 Active Directory 和密码喷洒。Volexity 观察的行动在最终目的实现前被阻断,目的仍不清楚。

三个 CVE 之间是什么关系?

CVE-2026-104935 同时覆盖认证绕过和代码执行竞速。CVE-2026-111357 覆盖提权到 root,CVE-2026-118527 覆盖让上传落在已知位置的可预测文件位置。CISA 对后两个的 KEV 条目说明它们各自与另外两个串联。CVE-2026-118527 的 CVE 记录截至 2026 年 10 月 31 日尚未发布。

利用有多广泛?

没有公布受害者数量。Defused Cyber 从 10 月 1 日起记录到尝试,Previdian 到 10 月 14 日统计到针对其传感器的 105 次尝试。watchTowr 咨询公司告诉 The Hacker News,该漏洞使 KEV 目录中 Ivanti 和 Pulse Connect Secure 的条目增加到 15 个。尝试已确认,成功入侵的数量没有确认。

用 Ostorlab 找出资产中暴露的 VPN 设备

可从互联网访问的设备正是这条漏洞链唯一需要的前提。Ostorlab 的攻击面发现会盘点您组织的互联网暴露主机,让您知道存在哪些 Ivanti Connect Secure 设备,以及应从哪里开始核对版本。

参考文献

  • Volexity,A Series of Unauthenticated Events: Chained Exploitation of Ivanti Connect Secure Zero-Days:https://www.volexity.com/blog/2026/10/13/a-series-of-unauthenticated-events-chained-exploitation-of-ivanti-connect-secure-zero-days/(2026 年 10 月 31 日核对)
  • Volexity 针对 UTA0576 活动的威胁情报指标:https://github.com/volexity/threat-intel/tree/main/2026/2026-10-13%20Ivanti(2026 年 10 月 31 日核对)
  • Ivanti 安全公告,CVE-2026-104935:https://hub.ivanti.com/s/article/Security-Advisory-Ivanti-Connect-Secure-CVE-2026-104935(2026 年 10 月 31 日核对)
  • CVE-2026-104935 记录:https://www.cve.org/CVERecord?id=CVE-2026-104935(2026 年 10 月 31 日核对)
  • CVE-2026-111357 记录:https://www.cve.org/CVERecord?id=CVE-2026-111357(2026 年 10 月 31 日核对)
  • CISA 警报,CISA Adds Two Known Exploited Vulnerabilities to Catalog,2026 年 10 月 30 日:https://www.cisa.gov/news-events/alerts/2026/10/30/cisa-adds-two-known-exploited-vulnerabilities-catalog(2026 年 10 月 31 日核对)
  • CISA KEV 目录 JSON 数据源:https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json(2026 年 10 月 31 日核对)
  • The Hacker News,Attackers Chain Three Ivanti Connect Secure Flaws to Gain Unauthenticated Root Access,2026 年 10 月 31 日:https://thehackernews.com/2026/10/attackers-chain-three-ivanti-connect.html(2026 年 10 月 31 日核对)
  • The Hacker News,CISA Urges Immediate Ivanti Connect Secure Updates as Honeypots Log 105 Exploit Attempts,2026 年 10 月 14 日:https://thehackernews.com/2026/10/cisa-urges-immediate-ivanti-connect.html(2026 年 10 月 31 日核对)
  • CISA 警报,CISA Urges Patching of Newly Exploited Ivanti Connect Secure Vulnerability,2026 年 10 月 13 日:https://www.cisa.gov/news-events/alerts/2026/10/13/cisa-urges-patching-newly-exploited-vulnerability-ivanti-connect-secure(链接来自 The Hacker News,2026 年 10 月 31 日核对)