IPBUF安全漏洞报告
English
CVE-2026-42088 CVSS 9.6 严重

CVE-2026-42088 OpenC3 COSMOS 权限绕过漏洞

披露日期: 2026-05-04

漏洞信息

漏洞编号
CVE-2026-42088
漏洞类型
权限绕过
CVSS评分
9.6 严重
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenC3 COSMOS

相关标签

权限绕过SSRFDocker安全OpenC3COSMOS数据泄露

漏洞概述

OpenC3 COSMOS 在 7.0.0-rc3 版本之前存在严重的安全漏洞。该产品的 Script Runner 组件允许用户在 openc3-COSMOS-script-runner-api 容器中直接执行 Python 和 Ruby 脚本。由于所有 Docker 容器共享同一网络,拥有脚本创建和运行权限的攻击者可以构造特制脚本,绕过 API 权限检查。这使得攻击者能够执行管理员操作,包括读取和修改 Redis 数据库中的敏感信息及设置,以及对存储配置、日志和插件文件的存储桶服务进行读写操作。

技术细节

该漏洞的根本原因在于容器网络配置不当与 API 权限校验逻辑的缺陷。在受影响的 OpenC3 COSMOS 部署中,Script Runner 容器与关键服务(如 Redis、Bucket 服务)位于同一 Docker 网络内。虽然系统通过 API 层面限制了普通用户的操作权限,但 Script Runner 允许用户执行任意脚本。攻击者只需拥有运行脚本的低权限,即可编写 Python 或 Ruby 脚本,利用容器间 DNS 解析直接向 Redis 或 Bucket 服务发起内部网络请求。这种方式绕过了应用层的 API 网关鉴权,允许攻击者直接操作后端数据库和存储服务,从而实现从普通用户权限到管理员权限的垂直提升,并窃取敏感数据或篡改系统配置。

攻击链分析

STEP 1
1. 获取初始权限
攻击者注册或获取一个具有创建和运行脚本权限的普通用户账号。
STEP 2
2. 构造恶意脚本
攻击者编写 Python 或 Ruby 脚本,利用内部网络通信功能,目标指向 Redis 或 Bucket 服务。
STEP 3
3. 执行脚本与绕过
通过 Script Runner 组件执行该脚本。脚本在容器内运行,直接连接到共享网络中的敏感服务,从而绕过 API 的权限验证。
STEP 4
4. 数据窃取与破坏
成功连接后,攻击者读取 Redis 中的密钥,修改 COSMOS 设置,或读写 Bucket 中的配置与日志文件,完全控制系统。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC: Accessing internal Redis from Script Runner container import redis # Connect to Redis using the internal Docker network hostname # This bypasses the application-level API checks r = redis.Redis(host='redis', port=6379, db=0) print("[*] Attempting to dump Redis keys...") try: # List all keys to find sensitive data (secrets, configs) keys = r.keys('*') for key in keys: key_type = r.type(key).decode('utf-8') print(f"Found Key: {key}, Type: {key_type}") # Extract value if it is a string if key_type == 'string': val = r.get(key).decode('utf-8') print(f"Value: {val}") except Exception as e: print(f"Error: {e}") # Example: Writing to the bucket service (if accessible via HTTP API) # import requests # print("[*] Attempting to access bucket service...") # response = requests.get('http://openc3-buckets:3000/api/buckets') # print(response.text)

影响范围

OpenC3 COSMOS < 7.0.0-rc3

防御指南

临时缓解措施
如果无法立即升级,建议通过防火墙规则或 Docker 网络策略阻断 Script Runner 容器与后端数据库、存储服务之间的直接通信路径,并加强对脚本执行日志的审计,及时发现异常的内部访问行为。

参考链接

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