ServiceNow曝预认证RCE漏洞CVE-2026-6875,攻击者72小时内实现在野利用
ServiceNow CVE-2026-6875是一个严重的预认证远程代码执行漏洞,攻击者利用javascript:前缀注入和沙箱逃逸技术,在自托管实例上实现未经授权的代码执行。该漏洞影响85%的财富500强企业,自披露后72小时内即在野利用。本文深入分析攻击链、缓解措施和防御建议。
🔓 Critical 漏洞利用
安全研究人员在ServiceNow AI Platform中发现一个严重的预认证远程代码执行漏洞(CVE-2026-6875),攻击者通过向GlideRecord查询API注入带有javascript:前缀的恶意参数,并利用沙箱绕过技术,可在自托管实例上执行任意代码。该漏洞影响85%的财富500强企业使用的ServiceNow平台,自披露后72小时内即出现大规模在野利用。
来源:Security Affairs | 2026-07-21 | 原文链接
🔍 关键发现
- CVE-2026-6875是一个无需认证的远程代码执行漏洞,入口点为ServiceNow的GlideRecord查询API,通过特殊前缀javascript:触发脚本执行
- 攻击者通过重写全局函数(如Object.clone)并借助gs.include()加载库函数的方式,成功逃逸了ServiceNow的沙箱限制,在无沙箱环境中执行任意JavaScript代码
- 在野利用已确认,攻击者针对同一端点/assessment_thanks.do,但使用了不同的沙箱逃逸gadget链,达到相同的代码执行效果
⚔️ 攻击链分析
1. 攻击者向/assessment_thanks.do发送请求,参数sysparm_assessable_type包含精心构造的javascript:前缀字符串 → 2. 该输入未经净化直接进入GlideRecord查询,触发沙箱内的JavaScript执行 → 3. 通过重写Object.clone和设置AbstractAjaxProcessor.prototype,利用gs.include('ItemViewElementsProvider')加载的库函数在无沙箱上下文中执行攻击者payload → 4. 获得Rhino引擎权限,可读取任意数据库表、创建管理员账户,并在连接的代理服务器上执行系统命令
🚩 失陷指标 (IOC)
暂无公开可用的具体IOC,建议监控对/assessment_thanks.do的异常访问及包含javascript:前缀的参数
🛡️ 缓解建议
- ✅ 立即为自托管的ServiceNow实例应用2026年7月13日发布的补丁(CVE-2026-6875修复)
- ✅ 检查云实例是否已自动应用ServiceNow在24小时内部署的缓解措施(阻止关键JavaScript函数修改)
- ✅ 对于无法立即修补的环境,在WAF/IPS中创建规则阻止包含'javascript:'字符串的请求参数,并限制对/assessment_thanks.do的未认证访问
- ✅ 审计所有ServiceNow实例中近期创建的管理员账号及可疑的代理服务器连接
涉及漏洞:[]
⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。
🤖 常见问题解答(FAQ)
❓ 该漏洞影响ServiceNow云实例吗?
ServiceNow在发现后24小时内为云实例部署了缓解措施(阻止关键函数修改),但自托管实例需要手动打补丁。云实例用户默认已受保护。
❓ 攻击者为什么选择/assessment_thanks.do作为入口?
该端点参数sysparm_assessable_type直接进入GlideRecord查询且未做任何净化,是无需认证的可达预认证注入点,配合javascript:前缀即可触发脚本执行。
❓ 沙箱逃逸具体是如何实现的?
通过重写Object.clone方法为Function构造函数,并设置AbstractAjaxProcessor.prototype为攻击者payload,随后调用gs.include('ItemViewElementsProvider')使沙箱执行Function(payload)从而逃逸。