How to Fix CVE-2025-59287: Insecure Deserialization in Windows Server 2012
By Sai Kiran Pandrala
| Severity | CVSS 9.8 - Critical |
|---|---|
| Actively exploited? | Yes, listed in CISA KEV (added 2025-10-24) |
| Affected | Windows Server 2012 6.2.9200.0 up to (excluding) 6.2.9200.25728; Windows Server 2012 (Server Core installation) 6.2.9200.0 up to (excluding) 6.2.9200.25728; Windows Server 2012 R2 6.3.9600.0 up to (excluding) 6.3.9600.22826; Windows Server 2012 R2 (Server Core installation) 6.3.9600.0 up to (excluding) 6.3.9600.22826; see advisory for full list |
| Fixed in | 10.0.14393.8524, 10.0.17763.7922, 10.0.20348.4297, 10.0.25398.1916, 10.0.26100.6905 (see advisory) |
| Type (CWE) | CWE-502: Deserialization of Untrusted Data |
Patch immediately. CISA added CVE-2025-59287 to the Known Exploited Vulnerabilities catalog on 2025-10-24. Federal civilian agencies must remediate by 2025-11-14. Treat every internet-reachable instance as a priority patch.
What is CVE-2025-59287?
CVE-2025-59287 is an Insecure Deserialization flaw in Microsoft Windows Server 2012. It carries a CVSS base score of 9.8 (critical). CISA confirmed real-world exploitation by adding it to the Known Exploited Vulnerabilities catalog on 2025-10-24.
From the source record: Deserialization of untrusted data in Windows Server Update Service allows an unauthorized attacker to execute code over a network.
Why it matters in practice: KEV-listed CVEs draw continuous internet-wide scanning. Any unpatched, internet-reachable installation is on borrowed time. The blast radius depends on how the affected service is exposed. An internet-facing instance with no compensating controls is the highest-risk configuration.
Am I affected?
You are affected if your installation of Windows Server 2012 matches a version listed in the Affected row above.
On Windows, check the installed version with PowerShell:
# Generic - list installed product versions
Get-CimInstance Win32_Product | Where-Object Name -like "*Windows Server 2012*" | Select-Object Name, Version
# Windows updates installed (KB lookup)
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 20
How to fix CVE-2025-59287
Apply the vendor patch. Target a build at or above: 10.0.14393.8524, 10.0.17763.7922, 10.0.20348.4297, 10.0.25398.1916, 10.0.26100.6905 (see advisory). The runnable command set below covers the most common deployment patterns for Windows Server 2012.
Windows (PowerShell, run as administrator)
# 1) Backup affected service config
$stamp = Get-Date -Format yyyyMMdd-HHmm
$backup = "C:\Backup\windows-$stamp"
New-Item -ItemType Directory -Path $backup -Force | Out-Null
# 2) Install the latest Windows security updates (the patch for CVE-2025-59287 ships here)
Install-Module PSWindowsUpdate -Force -Scope CurrentUser -ErrorAction SilentlyContinue
Import-Module PSWindowsUpdate
Get-WindowsUpdate -MicrosoftUpdate -AcceptAll -Install -AutoReboot
# 3) Confirm the patch landed
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10
Vendor-managed app on Windows (winget)
# Vendor advisory: https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-59287
winget upgrade --all --silent --accept-package-agreements --accept-source-agreements
# or target the specific package:
winget search "Windows Server 2012"
winget upgrade --id <PackageId> --silent
Complete PowerShell patch script
# Patch Windows Server 2012 for CVE-2025-59287
$log = "C:\Backup\CVE-2025-59287-patch.log"
"[{0}] Starting patch run" -f (Get-Date) | Tee-Object -FilePath $log -Append
try {
$stamp = Get-Date -Format yyyyMMdd-HHmm
$backup = "C:\Backup\windows-$stamp"
New-Item -ItemType Directory -Path $backup -Force | Out-Null
# Backup hook - tailor for the product
# Copy-Item "C:\Program Files\Windows Server 2012" $backup -Recurse -ErrorAction SilentlyContinue
if (-not (Get-Module -ListAvailable PSWindowsUpdate)) {
Install-Module PSWindowsUpdate -Force -Scope CurrentUser
}
Import-Module PSWindowsUpdate
Get-WindowsUpdate -MicrosoftUpdate -AcceptAll -Install -AutoReboot:$false -IgnoreReboot
"[{0}] Updates installed" -f (Get-Date) | Tee-Object -FilePath $log -Append
# Verify
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5 | Out-File $log -Append
"[{0}] Patch run complete - reboot at next maintenance window" -f (Get-Date) | Tee-Object -FilePath $log -Append
} catch {
"[{0}] ERROR: $_" -f (Get-Date) | Tee-Object -FilePath $log -Append
exit 1
}
After applying the patch
- Restart the service or device so the patched binary loads.
- Confirm the running version matches the Fixed in row using the verification command below.
- Rotate credentials and API keys that the affected service could access if the asset was exposed during the disclosure window.
If you can't patch immediately
Until the patch lands, narrow the attack surface with these runnable controls.
Restrict the affected service via Windows Firewall
# Replace -RemoteAddress with your trusted admin range
New-NetFirewallRule -DisplayName "Block CVE-2025-59287 inbound" -Direction Inbound -Action Block -Protocol TCP -LocalPort 445,3389,5985
New-NetFirewallRule -DisplayName "Allow CVE-2025-59287 admin range" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 445,3389,5985 -RemoteAddress 10.10.10.0/24
Disable the vulnerable feature if the vendor advisory allows it
# Vendor advisory: https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-59287
# Example: stopping a non-essential Windows service
Stop-Service -Name <ServiceName> -Force
Set-Service -Name <ServiceName> -StartupType Disabled
Mitigations are temporary. Apply the vendor patch as soon as a maintenance window opens.
How to verify the fix worked
Confirm the patched build is the one actually running.
# Confirm KB / hotfix is present
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10
# Confirm product version
Get-CimInstance Win32_Product | Where-Object Name -like "*Windows Server 2012*" | Select-Object Name, Version
Expected: the patched build named in Fixed in (10.0.14393.8524, 10.0.17763.7922, 10.0.20348.4297, 10.0.25398.1916, 10.0.26100.6905 (see advisory)) appears in the version column.
Also worth doing: pull recent log windows for any indicators of compromise listed in the vendor advisory, and re-run an authenticated vulnerability scan with up-to-date signatures.
Frequently asked questions
Related fixes
Other vulnerabilities in the same area that are worth patching alongside this one:
- How to Fix CVE-2025-21334: Use-After-Free in Windows 10 Version 21H2 — Use-After-Free in Windows 10 Version 21H2
- How to Fix CVE-2025-21335: Use-After-Free in Windows 10 Version 21H2 — Use-After-Free in Windows 10 Version 21H2
- How to Fix CVE-2025-24983: Use-After-Free in Windows 10 Version 1507 , Use-After-Free in Windows 10 Version 1507
- How to Fix CVE-2025-49704: Code Injection in Microsoft SharePoint Enterprise Server 2016 , Code Injection in Microsoft SharePoint Enterprise Server 2016
- How to Fix CVE-2025-60710: Security Vulnerability in Windows 11 Version 24H2 , Security Vulnerability in Windows 11 Version 24H2
Is CVE-2025-59287 being exploited in the wild?
Yes. CISA added CVE-2025-59287 to the Known Exploited Vulnerabilities catalog on 2025-10-24. KEV listing means at least one confirmed real-world exploitation report exists.
Do I have to take downtime to patch?
For most Microsoft Windows Server 2012 deployments, the patched build needs a service restart or device reboot. HA pairs and clusters can roll the upgrade by patching the standby first, failing over, then patching the former primary.
Will a WAF or IDS rule alone close CVE-2025-59287?
No. Network filters cut down opportunistic scans but they do not remove the flaw. The vendor patch is the only durable fix.
Why is CVE-2025-59287 rated critical?
The CVSS base score of 9.8 reflects network reach, low attack complexity, and high impact on confidentiality, integrity, and availability. That combination is what the rating model maps to critical.
References
- Official vendor advisory: https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-59287
- NVD entry: https://nvd.nist.gov/vuln/detail/CVE-2025-59287
- CISA KEV catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- CISA KEV entry: "Microsoft Windows Server Update Service (WSUS) Deserialization of Untrusted Data Vulnerability" - added 2025-10-24, due 2025-11-14
- Additional reference: https://gist.github.com/hawktrace/880b54fb9c07ddb028baaae401bd3951
- Additional reference: https://hawktrace.com/blog/CVE-2025-59287
- Additional reference: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59287
- Additional reference: https://www.bleepingcomputer.com/news/security/cisa-orders-feds-to-patch-windows-server-wsus-flaw-exploited-in-attacks/
*Assembled from the official vendor advisory, the NVD record, and the CISA KEV listing on 2026-05-25. Always confirm against the vendor advisory before applying changes in production.*