IPBUF安全漏洞报告
English
CVE-2026-33326 CVSS 4.3 中危

CVE-2026-33326 Keystone CMS访问控制绕过漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33326
漏洞类型
访问控制绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Keystone (Node.js CMS)

相关标签

访问控制绕过信息泄露KeystoneGraphQLCVE-2026-33326

漏洞概述

Keystone是一个Node.js内容管理系统。在6.5.2版本之前,攻击者可以通过在findMany查询中传递cursor参数,绕过{field}.isFilterable的访问控制限制。该漏洞允许攻击者利用受保护字段值确认记录的存在,导致信息泄露。此问题是对CVE-2025-46720补丁的遗漏,该补丁仅修复了update和delete操作中的类似问题,未覆盖findMany操作。已在6.5.2版本中修复。

技术细节

该漏洞源于Keystone在处理findMany查询时的逻辑缺陷。尽管开发团队此前针对CVE-2025-46720漏洞进行了修复,在update和delete变更操作中对where参数实施了{field}.isFilterable字段级访问控制检查,但在findMany查询中,cursor参数同样接受UniqueWhere输入类型,却遗漏了这一关键的安全校验。攻击者利用这一疏忽,可以在无需高权限的情况下(仅需低权限账号),构造包含特定cursor的查询请求。通过将cursor指向那些本应被isFilterable规则保护的敏感字段,攻击者可以利用系统返回的响应状态或数据存在性差异,来推断特定记录是否存在。这种利用方式虽然不直接泄露数据内容,但有效地绕过了字段级的过滤限制,实现了对敏感数据存在性的探测,造成信息泄露风险。

攻击链分析

STEP 1
信息收集
识别目标系统使用的是Keystone CMS,且版本低于6.5.2。
STEP 2
获取权限
注册或获取一个普通低权限用户账号(满足PR:L要求)。
STEP 3
构造攻击载荷
编写GraphQL查询,在findMany操作中使用cursor参数,并将cursor设置为受保护字段(如已标记为不可过滤的唯一邮箱字段)的值。
STEP 4
发送请求与验证
发送恶意查询到服务端。根据返回结果判断目标记录是否存在,从而绕过isFilterable限制获取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# GraphQL PoC for CVE-2026-33326 # Target: Keystone < 6.5.2 # Description: Bypass isFilterable access control using cursor in findMany query ExploitCursorCheck { # Attacker constructs a query targeting a protected unique field (e.g., email) # Normally filtering by 'email' is restricted by isFilterable: false # However, the 'cursor' parameter accepts UniqueWhere input without this check. findMany( # The cursor is set to the sensitive value we want to check existence of cursor: { email: "[email protected]" } ) { id name # If the record exists, the query will return data (or specific errors) # If it doesn't exist, it returns empty. # This confirms the existence of the email address. } }

影响范围

Keystone < 6.5.2

防御指南

临时缓解措施
如果无法立即升级,建议在应用网关或WAF层面对GraphQL请求进行深度检测,拦截包含敏感字段引用的cursor参数,或在代码层面临时添加针对cursor参数的中间件校验。

参考链接

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