416просмотров
20 августа 2025 г.
📷 ФотоScore: 458
Тема: Обновление curl.exe в Windows средствами PowerShell Не так давно появилась уязвимость в curl.exe CVE-2025-5399. Microsoft не особо спешит с ее устранением, а вся суть просто перейти на более свежую версию 8.15. Чтобы для своей инфраструктуры или домашней технике ускорить данный процесс, я написал скрипт позволяющий это сделать. Скрипт временно меняет владельца и права на файл C:\WINDOWS\System32\curl.exe, производит замену, на заранее скачанный файл и возвращает права и владельца как было. В статье по ссылке ниже приводятся скрипты для массового обновления. # Установка группы "Администраторы" как владельца файла curl.exe
$filePath = "C:\WINDOWS\System32\curl.exe"
$adminGroup = [System.Security.Principal.NTAccount]"Администраторы"
$trustedInstaller = [System.Security.Principal.NTAccount]"NT SERVICE\TrustedInstaller" # Получаем текущий DACL файла
$acl = Get-Acl -Path $filePath # Устанавливаем временного владельца (Администраторы)
$acl.SetOwner($adminGroup)
Set-Acl -Path $filePath -AclObject $acl # Даем группе "Администраторы" полные права (временно)
$fullControlRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
$adminGroup,
"FullControl",
"None",
"None",
"Allow"
)
$acl.AddAccessRule($fullControlRule)
Set-Acl -Path $filePath -AclObject $acl # Копирование файла с заменой
$sourceFile = "C:\Users\sem\Downloads\curl-8.15.0_4-win64-mingw\curl-8.15.0_4-win64-mingw\bin\curl.exe"
$destinationFile = "C:\WINDOWS\System32\curl.exe" Copy-Item -Path $sourceFile -Destination $destinationFile -Force # Восстанавливаем исходные права и владельца
$acl = Get-Acl -Path $filePath # Удаляем временное правило FullControl
$acl.RemoveAccessRule($fullControlRule) | Out-Null # Добавляем права только на чтение и выполнение
$readExecuteRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
$adminGroup,
"ReadAndExecute",
"Allow"
)
$acl.AddAccessRule($readExecuteRule) # Восстанавливаем владельца TrustedInstaller
$acl.SetOwner($trustedInstaller) # Применяем изменения
Set-Acl -Path $filePath -AclObject $acl Write-Host "Файл успешно заменен. Владелец и права восстановлены." Подробнее - Алгоритм обновления curl.exe в Windows