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

CVE-2026-34573 Parse Server GraphQL拒绝服务漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-34573
漏洞类型
拒绝服务
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Parse Server

相关标签

拒绝服务DoSGraphQLParse ServerNode.jsCVE-2026-34573

漏洞概述

Parse Server是一个基于Node.js的开源后端框架。在8.6.68和9.7.0-alpha.12版本之前,其GraphQL查询复杂度验证器存在安全漏洞。攻击者可利用该漏洞,通过发送包含二进制扇出片段扩展的特制查询,导致Node.js事件循环阻塞数秒,从而对所有并发用户发起拒绝服务攻击。该漏洞仅影响启用了特定GraphQL复杂度配置选项的部署环境。

技术细节

该漏洞源于Parse Server中GraphQL查询复杂度验证器的实现缺陷。当部署启用了`requestComplexity.graphQLDepth`或`requestComplexity.graphQLFields`配置选项时,系统未能正确处理包含“二进制扇出片段扩展”的恶意构造查询。攻击者无需身份认证即可发送此类特制GraphQL请求。由于验证算法在处理这种指数级扩展的片段时效率极低,解析过程会长时间完全占用Node.js的单线程事件循环,导致服务器无法响应其他并发请求,从而实现拒绝服务。

攻击链分析

STEP 1
侦察
攻击者识别目标是否运行Parse Server,并确认是否启用了GraphQL接口及相关的复杂度验证配置。
STEP 2
武器化
攻击者构造包含大量嵌套片段扩展的恶意GraphQL查询,利用二进制扇出特性触发计算复杂度爆炸。
STEP 3
投递
攻击者向目标Parse Server端点发送单个无需认证的HTTP POST请求,载荷为上述恶意GraphQL查询。
STEP 4
利用
服务器尝试解析并验证查询复杂度,由于算法缺陷导致CPU资源被耗尽,阻塞Node.js事件循环。
STEP 5
影响
服务器在数秒内无法处理任何其他请求,导致合法用户无法访问服务,达成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for GraphQL Binary Fan-out Fragment Spreads # This query exponentially increases complexity using fragment spreads. fragment F0 on Query { user { id } } fragment F1 on Query { ...F0 ...F0 } fragment F2 on Query { ...F1 ...F1 } fragment F3 on Query { ...F2 ...F2 } fragment F4 on Query { ...F3 ...F3 } fragment F5 on Query { ...F4 ...F4 } fragment F6 on Query { ...F5 ...F5 } fragment F7 on Query { ...F6 ...F6 } fragment F8 on Query { ...F7 ...F7 } fragment F9 on Query { ...F8 ...F8 } fragment F10 on Query { ...F9 ...F9 } query AttackQuery { ...F10 }

影响范围

Parse Server < 8.6.68
Parse Server < 9.7.0-alpha.12

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用`requestComplexity.graphQLDepth`和`requestComplexity.graphQLFields`配置选项以降低风险。此外,建议在应用网关或反向代理(如Nginx)层面实施严格的速率限制,并限制GraphQL请求体的最大大小,以拦截潜在的恶意流量。

参考链接

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