IPBUF安全漏洞报告
English
CVE-2026-39980 CVSS 9.1 严重

CVE-2026-39980 OpenCTI 任意JavaScript代码执行漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-39980
漏洞类型
远程代码执行 (RCE)
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
OpenCTI

相关标签

RCEOpenCTISSTIEJSCVE-2026-39980

漏洞概述

OpenCTI是一个开源网络威胁情报管理平台。在6.9.5版本之前,其`safeEjs.ts`文件未能正确清理EJS模板。具备“Manage customization”权限的用户可以在执行通知器模板时,在OpenCTI平台进程的上下文中运行任意JavaScript代码,从而导致远程代码执行,造成严重安全风险。

技术细节

该漏洞源于OpenCTI平台在处理EJS(Embedded JavaScript templates)模板时存在的安全过滤机制失效。具体来说,负责清理用户输入的`safeEjs.ts`文件未能正确识别和过滤恶意的EJS语法构造。攻击者必须拥有“Manage customization”这一高特权。利用此权限,攻击者可以在配置通知器模板时注入包含恶意JavaScript代码的特制模板。当OpenCTI平台的服务器端进程渲染并执行该通知器模板时,由于缺乏有效的净化,注入的恶意JavaScript代码将被服务器解析并执行。这使得攻击者能够在OpenCTI平台进程的上下文中运行任意代码,从而实现远程代码执行(RCE),进一步可能导致服务器被完全控制、敏感数据泄露或服务不可用等严重后果。

攻击链分析

STEP 1
步骤1:获取高权限账户
攻击者需要获取一个具有“Manage customization”(管理自定义)权限的OpenCTI平台账户。
STEP 2
步骤2:访问通知器配置
登录平台后,导航到通知器或模板配置区域,准备创建或编辑通知器模板。
STEP 3
步骤3:注入恶意载荷
在模板内容字段中输入恶意的EJS代码(如反向Shell或系统命令执行代码),绕过`safeEjs.ts`的缺陷过滤。
STEP 4
步骤4:触发模板渲染
保存配置并等待触发该通知器的条件发生(或手动触发测试),导致服务器端解析该模板。
STEP 5
步骤5:执行任意代码
服务器进程执行恶意JavaScript代码,攻击者获得服务器权限,可读取数据或控制系统。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC: Malicious EJS template snippet for OpenCTI notification // Precondition: Attacker needs 'Manage customization' permission // Action: Inject this payload into a notifier template body <%- global.process.mainModule.require('child_process').execSync('id').toString() %>

影响范围

OpenCTI < 6.9.5

防御指南

临时缓解措施
如果无法立即升级,请严格限制并审查具有“Manage customization”权限的用户账户,确保只有可信管理员拥有该权限。同时,监控服务器进程是否有异常的子进程调用或资源消耗,以便及时发现可能的利用行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表