Уязвимости в Visual Studio Code и PowerShell позволяют выполнить код при импорте вредоносного файла

Visual Studio

Microsoft закрыла 26 уязвимостей в инструментах для разработчиков, выпустив обновления для Visual Studio Code, PowerShell, .NET и .NET Framework. Часть проблем позволяет выполнить произвольный код, другие ведут к повышению привилегий, обходу механизмов защиты или раскрытию данных. Для эксплуатации многих из них злоумышленнику необходимо обманом заставить разработчика импортировать и обработать вредоносный файл с исходным кодом.

Детали уязвимостей

Затронутыми продуктами стали Visual Studio Code, расширения для него, включая плагин для Python и модуль Copilot Chat, среда выполнения .NET, .NET Framework, а также оболочки PowerShell и PowerShell Core. Оценки CVSS варьируются от 5,9 до 8,8. Максимальные значения получили уязвимости, ведущие к выполнению кода, однако и менее серьёзные проблемы создают заметные риски для разработчиков и инфраструктуры.

В Visual Studio Code обнаружено семь уязвимостей. Четыре из них, с оценкой 8,8, связаны с выполнением произвольного кода. Остальные позволяют обойти ограничения безопасности, повысить привилегии или получить доступ к чувствительной информации. Примечательно, что одна из уязвимостей присутствует также в GitHub Copilot и Visual Studio Code совместно; её эксплуатация даёт атакующему возможность повысить свои права в системе. Дополнительно в расширении Python для Visual Studio Code найдена проблема с оценкой 7,8, которая связана с обходом механизмов безопасности. Поскольку расширения часто обрабатывают файлы из ненадёжных источников, эта уязвимость заслуживает внимания. В модуле Copilot Chat для Visual Studio Code исправлена ещё одна уязвимость с оценкой 7,1, также позволяющая обходить меры безопасности.

PowerShell Core затронут двумя уязвимостями. Одна из них, CVE-2026-70337, имеет оценку 8,8 и допускает выполнение произвольного кода. Другая, CVE-2026-58612, с оценкой 7,4, открывает доступ к конфиденциальным данным. Для успешной атаки в обоих случаях потребуется, чтобы жертва импортировала вредоносный модуль или сценарий. Уязвимости в PowerShell затрагивают также и классическую версию оболочки: здесь устранены проблема повышения привилегий (CVE-2026-59119) и обход защиты (CVE-2026-70338).

В .NET и .NET Framework устранено в общей сложности 12 уязвимостей. Среди них проблемы повышения привилегий, выполнение кода, обход защиты и отказ в обслуживании. Например, CVE-2026-62872 в .NET Framework имеет оценку 8,8 и позволяет повысить привилегии, а CVE-2026-62871 связана с выполнением кода. Отдельно отмечается уязвимость CVE-2026-62897, также ведущая к выполнению кода. Эти компоненты широко используются в корпоративных приложениях, поэтому их компрометация может затронуть серверную инфраструктуру и привести к серьёзным последствиям для бизнеса. При этом затронуты все актуальные версии .NET - 8, 9 и 10, а также .NET Framework начиная с версии 3.5 и до 4.8.1.

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

Общей чертой для большинства перечисленных уязвимостей является вектор атаки через импорт файла. Злоумышленник может подменить исходный код, библиотеку или конфигурационный файл, после чего разработчик, открыв его, запустит цепочку действий. Такой сценарий характерен для атак на цепочку поставок, когда вредоносный код попадает в доверенную среду через обман пользователя. Эта особенность повышает риск для организаций, которые полагаются на открытые компоненты и сторонние библиотеки.

Разработчики являются привлекательной целью для атакующих: их рабочие станции имеют доступ к системам сборки, репозиториям и секретам. Поэтому уязвимости в инструментах разработки требуют особого внимания. Даже единичный случай выполненного кода на машине разработчика может привести к краже учётных данных или внедрению вредоносного кода в программный продукт, который затем распространится среди пользователей. В случае с .NET уязвимости могут затронуть серверные приложения, используемые одновременно большим числом клиентов.

Microsoft уже выпустила обновления для всех затронутых продуктов. Рекомендуется обновить Visual Studio Code, установить актуальные версии расширений, а также обновить .NET, .NET Framework и PowerShell. Подробные сведения о каждой уязвимости и доступных исправлениях опубликованы на портале безопасности Microsoft. Компания также предоставляет рекомендации по временным мерам, однако установка исправлений остаётся основным способом устранения проблемы.

Регулярное обновление инструментов разработки остаётся одной из наиболее действенных мер защиты. Уязвимости в них привлекают внимание к проблеме доверия к коду из внешних источников: даже проверенные компоненты могут содержать ошибки, и только своевременное обновление снижает риск эксплуатации. Кроме того, разработчикам стоит проявлять осторожность при работе с файлами из непроверенных источников и использовать изолированные среды для анализа подозрительного кода.

Ссылки

Комментарии: 0