🟠 【深度分析】高危安全漏洞:CVE-2026-63760

CVSS 评分: 高危(8.7)🟠  状态: Analyzed  发布时间: 2026-07-20


🔍 技术细节速览

字段 值
CVE ID CVE-2026-63760
CVSS 评分 8.7 🟠
严重程度 高危
CVSS 向量 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CWE 分类 CWE-674
发布时间 2026-07-20
最后更新 2026-07-22
状态 Analyzed
数据来源 disclosure@vulncheck.com

⚠️ CVSS 4.0 评分:8.7(高危)
向量:CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/...
危害等级:高危 – 远程未认证攻击者可导致服务完全不可用。


漏洞概述

CVE-2026-63760 是 SurrealDB(一款开源、多模型数据库)在值解析器与 JSON 解析器中的一个递归深度限制绕过漏洞。当处理嵌套的大括号、方括号或圆括号时,系统未正确强制实施配置的递归深度上限,攻击者可以构造深度极大的嵌套 JSON 载荷,通过 WebSocket 暴露的 /rpc 端点发送给服务器,导致内存耗尽和进程崩溃,造成拒绝服务。

该漏洞影响 SurrealDB 3.1.0 之前的所有版本。攻击无需任何身份验证或用户交互,攻击复杂度低,且可利用网络远程触发。


受影响组件与版本

组件 影响版本
SurrealDB < 3.1.0
暴露的 WebSocket /rpc 端点 所有受影响版本中默认开启的 WebSocket 服务

修复版本:SurrealDB 3.1.0 及更高版本。


漏洞原理分析

漏洞成因

根据 CWE-674(非受控递归深度)以及 NVD 描述,该漏洞源于 SurrealDB 在解析 JSON 或值表达式时,未能正确应用配置的递归深度限制。通常,数据库会设置一个最大嵌套层数(例如 max_nesting_depth)以防止恶意输入导致栈溢出或过度的资源消耗。然而,在处理嵌套的 {}、[]、() 时,解析器可能采用了递归下降方法,但深度检查逻辑存在缺陷,导致深层嵌套的结构能够绕过限制。

具体的绕过方式可能包括:

  • 检查点仅在某些递归调用路径上生效,而在其他路径(如嵌套括号处理分支)未实施。
  • 递归深度计数器未正确递增或溢出归零。
  • 在处理嵌套结构时,解析器在到达递归终止条件前消耗了大量栈空间或堆内存(用于存储解析状态),从而未触发深度限制的超限检查。

攻击向量

攻击者利用该漏洞的流程:

  1. 与目标 SurrealDB 实例建立 WebSocket 连接(默认端口 8000,路径 /rpc)。
  2. 发送一个深度极大的嵌套 JSON 对象,例如:
    {"a":{"a":{"a":...重复成千上万次...}}}
    
    或使用嵌套数组 [[[...]]]、表达式括号 (((...)))。
  3. 服务器解析该载荷时,递归深度超过预期值,但未触发限制。
  4. 随着递归层次加深,解析器消耗大量内存(每个递归层级可能分配临时对象或上下文),最终导致 Out‑of‑Memory(OOM) 或栈溢出,进程崩溃。

CVSS 向量分解印证

  • AV:N(网络攻击向量) – 通过 WebSocket 远程触发。
  • AC:L(低攻击复杂度) – 构造嵌套 JSON 无需特殊技巧。
  • AT:N(无攻击准备工作) – 无需任何前置条件。
  • PR:N(无需权限) – 无需认证即可访问 /rpc 端点(默认允许未认证请求)。
  • UI:N(无需用户交互) – 攻击过程完全自动化。
  • VA:H(高可用性影响) – 直接导致服务进程崩溃,可用性完全丧失。
  • 其余指标为无(N),说明漏洞仅影响可用性,不破坏数据机密性与完整性。

影响评估

维度 评估
攻击复杂度 低 – 只需发送精心构造的 HTTP/WebSocket 请求,无需专业知识。
所需权限 无 – 未认证攻击者可直接利用。
利用条件 目标 SurrealDB 版本 < 3.1.0,且 WebSocket 服务暴露于网络(默认配置即满足)。
攻击后果 服务进程崩溃,导致数据库完全不可用。若被大规模重复利用,可造成持续性拒绝服务。
潜在威胁 可被用于对 SurrealDB 集群或单节点发起拒绝服务攻击,破坏业务连续性;在云环境中可能引发自动重启循环,增加运维成本。

CVSS 8.7 的合理性:虽然该漏洞不泄密、不篡改数据,但无认证、低复杂度、远程触发的 DoS 风险,在高可用性要求的生产环境中影响重大,因此评分符合“高危”级别。


修复建议

官方补丁

  • 升级至 SurrealDB 3.1.0 或更高版本。此版本已正确实施 JSON/值解析器的递归深度限制。
  • 升级前请测试兼容性,并参考官方发布说明:SurrealDB Release Notes(待官方更新)。

临时缓解措施(无法立即升级时)

  1. 限制 WebSocket 访问来源:通过防火墙或反向代理仅允许可信 IP 访问 /rpc 端点。
  2. 启用认证:如果业务允许,可配置强制用户认证,虽然描述称未认证可触发,但认证后仍需防范普通用户滥用;不过识别攻击者来源可能更容易。
  3. 设置应用层请求大小限制:在反向代理(如 Nginx、HAProxy)中限制 HTTP 请求正文大小(例如 1MB),阻止极端大的 JSON 载荷。但需注意嵌套深度与大小不完全成正比(小但深嵌套也可导致耗尽)。
  4. 监控异常 WebSocket 行为:部署告警规则,监测单个客户端发送的嵌套深度异常或内存使用突增,并及时阻断恶意连接。

参考资料


免责声明:本文基于 NVD 公开信息进行技术分析,未涉及实际漏洞复现。所有修复建议应在生产环境充分测试后实施。