漏洞总结:Cross-Site WebSocket Hijacking (CSWSH) 漏洞概述 漏洞名称:Cross-Site WebSocket Hijacking (CSWSH) via missing origin validation on all WebSocket endpoints CVE ID:CVE-2025-34403 严重程度:High 受影响版本:<= 2.3.3 修复版本:2.3.5 根本原因: 1. 所有 WebSocket 端点使用 Upgrader,且 函数无条件返回 ,导致跨站劫持。 2. 认证令牌(JWT)存储在浏览器 Cookie 中,且未设置 和 安全属性。 影响范围 受影响端点:所有经过认证路由组的 WebSocket 端点(如 , , , 等)。 攻击后果: 1. 窃取敏感信息:包括 Nginx 配置、性能指标、CPU/内存/磁盘使用率、网络流量统计等。 2. 读取日志文件:可能包含敏感请求数据、IP 地址和认证令牌。 3. 获取交互式终端访问权限:如果未启用 OTP/2FA,攻击者可获得完整的 PTY shell,实现远程代码执行 (RCE)。 4. 触发系统操作:包括 Nginx 重新加载和二进制升级。 利用条件:无需特权,无需知道受害者凭据,仅需受害者(管理员)访问攻击者控制的页面。 修复方案 1. 实现正确的源验证:在所有 WebSocket Upgrader 中实现 函数,检查请求头中的 是否允许。 2. 设置安全 Cookie 属性:为存储令牌的 Cookie 设置 和 。 3. 添加 CSRF 令牌验证**:在 WebSocket 升级请求中实施 CSRF 令牌验证作为纵深防御。 POC 代码 1. 漏洞代码模式 (Vulnerable Code Pattern) 2. Cookie 配置 (Cookie-Based Authentication) 3. 修复代码 (Remediation) 4. 攻击页面代码 (Attack Page)