针对关键 ServiceNow 沙箱 RCE 漏洞公开 PoC 发布

安全研究人员发布了 CVE-2026-6875 的技术利用详细信息,这是一个严重的 ServiceNow AI Platform 漏洞,可能允许未经身份验证的远程代码执行。 ServiceNow 已经更新了其托管环境,并为自托管客户和合作伙伴发布了安全修复程序。

该漏洞的 CVSS v4.0 评分为 9.5。根据ServiceNow 安全公告 KB3137947,未经身份验证的攻击者可以在某些情况下在平台内执行代码。管理自己实例的客户应确认他们已安装固定版本。

Searchlight Cyber​​ 的 Assetnote 团队的研究人员演示了攻击者如何从预身份验证查询转移到 ServiceNow 受限脚本沙箱之外的代码执行。他们的ServiceNow 沙盒研究包含足够的技术细节,可以优先考虑快速修补。

什么是 CVE-2026-6875?

CVE-2026-6875是ServiceNow AI平台中的代码注入和沙箱逃逸漏洞。该问题影响与用户控制的查询表达式相关的服务器端 JavaScript 处理。

这国家漏洞数据库条目将该漏洞归类为 CWE-94,或对代码生成的控制不当。尽管 ServiceNow 认为攻击复杂性很高,但其网络可访问的攻击路径不需要特权或用户交互。

成功利用该漏洞可以让攻击者广泛访问受损的 ServiceNow 实例。研究人员表示,生成的脚本上下文可以从平台表中读取数据、创建管理员帐户并与连接的 MID 服务器进行交互。

漏洞详情信息
CVE 标识符CVE-2026-6875
受影响的产品ServiceNow人工智能平台
漏洞类型代码注入和沙箱逃逸
最大影响未经身份验证的远程代码执行
CVSS v4.0 分数9.5,严重
所需权限没有任何
用户交互没有任何
已知的利用尚未得到 ServiceNow 确认

攻击从 ServiceNow 的 GlideRecord API 开始,应用程序使用该 API 来查询平台表中存储的数据。 Assetnote 发现了用户控制的值到达 GlideRecord 查询函数的预身份验证应用程序路径。

某些 ServiceNow 查询值可以包含javascript:表达。平台在数据库查询中使用其结果之前先计算表达式。 ServiceNow 将这些表达式放置在一个受限制的脚本沙箱中,旨在防止访问敏感方法、Java 类和不受限制的代码执行。

沙盒会阻止直接访问等功能eval调用、动态函数构造和任意函数声明。它还限制未经身份验证的用户访问数据库。这些控件最初可以防止查询表达式造成有意义的损害。

脚本包括提供逃生路线

研究人员发现,允许的gs.include()方法可以加载 ServiceNow 脚本包含。这些可重用的服务器端库是通过上下文进行评估的,该上下文没有应用对原始查询表达式施加的所有限制。

通过修改所包含脚本使用的全局 JavaScript 属性,研究人员重定向了正常的对象和函数行为。他们的技术导致攻击者控制的 JavaScript 在脚本包含过程中被编译,然后在更严格的沙箱之外执行。

已发表的Assetnote技术分析展示了研究人员如何组合函数构造函数、更改对象属性和选定的脚本包含来实现非沙盒执行。同一份报告称,该团队于 2026 年 4 月 1 日向 ServiceNow 披露了该漏洞。

为什么 MID 服务器会增加潜在影响

对 ServiceNow 的 Rhino JavaScript 环境进行非沙盒访问可以公开强大的内部 API。研究人员表示,攻击者可以从平台表中检索记录并创建管理用户。

该攻击还可能到达已配置的 ServiceNow MID 服务器。组织通常将这些服务器放置在专用网络内,以便 ServiceNow 可以与内部应用程序、数据库、发现目标和基础设施管理系统进行通信。

因此,受感染的实例可能成为互联企业环境的入口点。可用的影响取决于每个 MID 服务器的权限、网络访问和配置的凭据,但潜在的影响范围使得该漏洞对于大型企业来说尤其严重。

  • 访问 ServiceNow 表中存储的数据
  • 创建或修改特权帐户
  • 更改工作流程和平台配置
  • 使用配置的 MID 服务器功能
  • 获取 MID 服务器可访问的内部资源
  • 中断依赖于 ServiceNow 的业务流程

ServiceNow 已修补的托管实例

ServiceNow 表示,它为托管实例部署了安全更新。该公司还向自托管客户和合作伙伴提供补丁,他们必须验证自己的部署状态。

供应商的CVE-2026-6875 咨询列出了巴西、澳大利亚、苏黎世和横滨版本系列的修复。管理员应该使用适用于其当前分支的版本,而不是将列出的版本视为一系列更新。

这CVE-2026-6875 记录表示,在披露信息发布时,ServiceNow 并不知道针对客户实例的利用。然而,详细的漏洞研究的可用性为攻击者提供了更多用于开发自动探测器的信息。

ServiceNow 发布系列ServiceNow 列出的修复版本
巴西巴西 EA 或巴西 GA
澳大利亚澳大利亚补丁 2
苏黎世苏黎世补丁 7b 或 苏黎世补丁 9
横滨横滨补丁 12 热修复 1b 或横滨补丁 13

受保护的脚本添加了更严格的限制

ServiceNow 还引入了受保护的脚本保护,以减少沙盒表达式中允许的 JavaScript 语法数量。此更改将不受信任的脚本限制为单个简单的表达式。

公司的受保护的脚本文档解释了受保护上下文中不再支持变量、赋值、循环、控制流语句、函数声明和多语句。

依赖复杂沙盒脚本的自定义应用程序可能需要在启用保护后进行更改。管理员应检查不兼容的脚本并将合法的复杂逻辑移至适当控制的脚本包含中。

  • 变量声明如var,let和const受到限制。
  • 控制流语句,例如if,switch,for和while受到限制。
  • 不接受函数声明。
  • 不支持赋值运算符。
  • 每个受保护的脚本仅允许一个简单的表达式。

ServiceNow 管理员应该做什么

自托管客户和合作伙伴应立即将其安装的版本与固定版本进行比较。托管客户仍应通过 ServiceNow 支持确认其实例状态,并检查自定义应用程序是否需要在受保护的脚本下进行更改。

安全团队应调查意外的管理员创建、异常的表访问、脚本包含的更改以及涉及 MID 服务器的可疑活动。他们还应该检查其实例收到缓解措施之前期间的日志和集成凭证。

以下行动可以降低直接风险:

  1. 确认每个 ServiceNow AI Platform 实例都运行固定版本。
  2. 回顾受保护的脚本指导并解决不兼容的自定义脚本。
  3. 审核在暴露期间创建或修改的管理员帐户。
  4. 检查脚本包括、访问控制规则和工作流程更改。
  5. 检查 MID 服务器活动是否有意外命令或出站连接。
  6. 如果日志表明对集成或内部服务进行未经授权的访问,则轮换凭据。
  7. 仅将 MID 服务器权限和网络访问限制到所需的系统。

FAQ

什么是 CVE-2026-6875?

CVE-2026-6875 是 ServiceNow AI 平台中的一个严重代码注入和沙箱逃逸漏洞。在某些情况下,它可能允许未经身份验证的远程攻击者在易受攻击的实例中执行代码。

CVE-2026-6875 的 CVSS 分数是多少?

ServiceNow 为 CVE-2026-6875 分配的 CVSS v4.0 分数为 9.5,这将其置于“严重”严重性类别中。

CVE-2026-6875 是否需要身份验证?

不会。尽管 ServiceNow 认为攻击复杂性很高,但记录的攻击无需经过身份验证的帐户或用户交互即可执行。

CVE-2026-6875 是否已被利用?

ServiceNow 表示,在发布该通报时,它并不知道针对客户实例的利用。详细的公共研究是可用的,因此管理员应该在不等待确认攻击的情况下进行修补。

哪些 ServiceNow 版本修复了 CVE-2026-6875?

列出的修复版本包括巴西 EA 或 GA、澳大利亚补丁 2、苏黎世补丁 7b 或补丁 9 以及横滨补丁 12 热修复 1b 或补丁 13。客户应为其当前分支安装适当的版本。