关键信息总结 漏洞描述 问题摘要:OneUptime 允许项目成员编写自定义 JavaScript 代码并在监测器内部运行。这些代码使用了 Node.js 内置的 模块执行,该模块被 Node.js 本身标记为“不是安全机制——不要用它来运行不可信代码。” 通过经典的单行逃逸漏洞,能够获得对底层进程的完全控制,并且由于探测器运行在主机网络中,并在其环境中持有所有集群凭据,这会导致任何人都能注册账户即可进行完整的集群破坏。 影响范围与严重性 严重性:Critical (10.0/10) 漏洞利用链:无需任何特权,仅需在网络环境下,通过权限最低的 角色即可利用。 CVSS 基准向量: 漏洞根因 关键代码位置: (第 55 行)—— 代码外部传入路径:CustomCode 字段,未经充分审查与过滤,直接传递给 其他易受攻击路径: 微服务受到影响,直接调用 (未用 包) ,导致流程组件和监测标准表达式可同样被利用。 利用方式 (PoC) 1. 注册账户 ( ) (默认开放注册) 2. 创建项目(默认得到 角色) 3. 发布自定义 JavaScript 代码进行命令执行 4. 从日志中提取集群密钥、数据库密码和探测器主机上 命令输出的结果。 影响与修复 修复手段:将 模块替换为 包,提供真正的 V8 隔离沙箱。 其他信息 CVE 编号:CVE-2026-27574 修复版本:10.0.0 报告人: ByamB4 安全策略建议:禁用默认的开放注册功能,限制用户角色权限,保障代码安全审查。