Windows PowerShell теперь предупреждает при запуске скриптов с Invoke-WebRequest

2025-12-10 216 комментарии
Windows PowerShell 5.1 теперь предупреждает при запуске скриптов с Invoke-WebRequest. Новое уведомление защищает от возможного выполнения встроенных веб-скриптов и снижает риск эксплуатации CVE-2025-54100. Microsoft рекомендует добавлять параметр -UseBasicParsing в автоматизационные сценарии

Microsoft сообщила, что Windows PowerShell теперь отображает предупреждение при запуске скриптов, использующих командлет Invoke-WebRequest для загрузки веб-контента. Цель нововведения — предотвратить выполнение потенциально опасного кода.

По данным Microsoft, данное изменение снижает риск эксплуатации уязвимости удаленного выполнения кода в PowerShell высокой степени опасности (CVE-2025-54100). Наибольшему риску подвержены корпоративные и управляемые ИТ-среды, где PowerShell активно используется для автоматизации. В обычных пользовательских системах такие сценарии применяются значительно реже.

Предупреждение добавлено в Windows PowerShell 5.1 — версию, которая установлена по умолчанию в Windows 10 и Windows 11. Механизм повторяет подход к безопасному парсингу веб-контента, уже доступный в PowerShell 7.

PowerShell теперь уведомляет, что при отсутствии мер предосторожности скрипты, встроенные в веб-страницы, загруженные с помощью Invoke-WebRequest, могут выполниться на локальной системе.

По умолчанию, если пользователь нажимает Enter или выбирает No, операция отменяется. PowerShell предложит повторно выполнить команду с параметром -UseBasicParsing, который обеспечивает более безопасную обработку контента.

Если выбрать Yes (Да), PowerShell применит устаревший способ полного HTML-парсинга, что позволяет загрузить страницу вместе со встроенными скриптами. Иными словами:

  • [Y] Да — вы принимаете риск возможного выполнения скриптов;
  • [N] Нет — действие отменяется для защиты системы.

В официальном бюллетене Microsoft уточняет:

Windows PowerShell 5.1 теперь показывает запрос подтверждения безопасности при использовании Invoke-WebRequest без специальных параметров.

В запросе предупреждается, что при парсинге страницы могут выполняться скрипты, и рекомендуется использовать параметр -UseBasicParsing для предотвращения выполнения кода. Пользователь должен выбрать продолжить или отменить операцию.

После установки обновления KB5074204 администраторы увидят примерно такое уведомление:

Security Warning: Script Execution Risk

Invoke-WebRequest parses the content of the web page. Script code in the web page might be run when the page is parsed.

RECOMMENDED ACTION:

Use the -UseBasicParsing switch to avoid script code execution.

Do you want to continue?

For additional details, see [KB5074596: PowerShell 5.1: Preventing script execution from web content](https://support.microsoft.com/help/5072034).

Чтобы автоматизационные сценарии не зависали в ожидании ручного подтверждения, Microsoft рекомендует администраторам заранее обновить свои скрипты и явно добавлять параметр -UseBasicParsing.

В PowerShell команда curl является алиасом для Invoke-WebRequest, поэтому такие же предупреждения будут появляться и при выполнении скриптов, использующих curl.

Microsoft отмечает:

Большинство сценариев и команд PowerShell, использующих Invoke-WebRequest, продолжат работать без изменений или с минимальными корректировками

Скрипты, которые просто загружают данные или обрабатывают тело ответа как текст или бинарного содержимого, не затрагиваются и не требуют модификаций.

© . По материалам Bleepingcomputer
Комментарии и отзывы

Нашли ошибку?

Новое на сайте