Microsoft выпустила обновление, которое закрывает 23 уязвимости в компонентах Azure. Четыре ошибки получили критический рейтинг: самая опасная - отсутствие аутентификации в Azure OpenAI с оценкой 9.8 по CVSS 3.1. Часть проблем затрагивает продукты, которые клиент обновляет самостоятельно: Azure DevOps Server, Azure CycleCloud, Azure File Sync, Azure CLI и клиентские библиотеки аутентификации. Нидерландский центр кибербезопасности NCSC свёл данные в уведомление NCSC-2026-0475 с приоритетом «обычный» и рекомендовал установить обновления.
Четыре критических оценки и длинный хвост высоких
Критические оценки
Начнём с CVE-2026-119990 в Azure OpenAI. В записи CVE указана ошибка CWE-306: отсутствие аутентификации для критической функции. Вектор сетевой, привилегии не нужны, участие пользователя не требуется. Оценки по конфиденциальности, целостности и доступности максимальные, отсюда и 9.8. Затронуты сборки до hyena-infra-build-official/20260923.14. Сервис управляемый, поэтому исправление применяет Microsoft на своей стороне, а клиенту остаётся проверить, что доступ к ресурсу не открыт лишним приложениям.
Вторая критическая ошибка - CVE-2026-114162 в Microsoft Graph, 9.1 по CVSS. Здесь слабость CWE-863, некорректная проверка авторизации. Атакующему нужны высокие привилегии, то есть сначала он должен получить учетную запись с правами. Затронут Azure Privileged Identity Management до версии 2.0.32.2053. PIM управляет активацией ролей, и обход проверки означает потенциальную возможность получить роль в обход согласования или временного окна.
Далее CVE-2026-114160 в Azure Managed Grafana, тоже 9.8. Слабость CWE-918, подделка серверных запросов (SSRF): сервис можно заставить отправить запрос по адресу, выбранному атакующим. Аутентификация не требуется, участие пользователя тоже. Затронуты все версии до публикации уведомления. Для внутренних сетей это означает риск обращения к ресурсам, которые не должны быть доступны извне.
Замыкает список CVE-2026-109467 в Azure DevOps Server, 9.9 по CVSS. Ошибка CWE-287, некорректная аутентификация. Вектор сетевой, привилегии низкие, участие пользователя не требуется, результат - выполнение кода. Затронуты облачная часть Azure DevOps до публикации и Azure DevOps Server 2025 до Patch 9. Это единственная критическая уязвимость набора, которую администраторы локальной установки закрывают сами.
Условия атаки
Разделение по вектору здесь важнее перечня идентификаторов. Сетевые ошибки без участия пользователя - Azure OpenAI, Microsoft Graph, Managed Grafana, Azure Front Door (CVE-2026-118742, 8.6, CWE-732), Azure DevOps Server и часть ошибок CycleCloud. Успешная эксплуатация даёт повышение привилегий или раскрытие данных без каких-либо действий со стороны жертвы.
Другая группа требует участия пользователя. Это внедрение команд в Azure CycleCloud (CVE-2026-102224, 8.4, CWE-78), внедрение команд в Azure CLI (CVE-2026-109457, 8.0, CWE-78), межсайтовый скриптинг в Microsoft Authentication Library для JavaScript (CVE-2026-108469, 6.8, CWE-79) и утечка учетных данных в MSAL для Node.js (CVE-2026-108470, 6.5, CWE-522). Здесь атакующему нужно, чтобы пользователь открыл ссылку, запустил команду или загрузил приложение.
Локальные ошибки требуют предварительного доступа к системе, обычно с низкими привилегиями. Сведений об эксплуатации этих уязвимостей в реальных атаках ни Microsoft, ни NCSC не приводят. Публичных PoC и эксплойтов в источниках тоже нет. Это не значит, что атаки начнутся позже, но на момент публикации подтверждений нет.
Azure DevOps Server и CycleCloud
В Azure DevOps Server кроме критической ошибки закрыты ещё три. CVE-2026-85923 (8.8, CWE-639) - обход авторизации через ключ, которым управляет пользователь, исправлено патчем 10. CVE-2026-112745 (6.5, CWE-918) - SSRF, затронуты Azure DevOps до Sprint 278 и серверная версия до Patch 8. CVE-2026-120783 (6.4, CWE-1390) - слабая аутентификация, исправление в сборке 20260304.1.
В Azure CycleCloud исправлено четыре ошибки, и все они сходятся в версии 8.10.1. Внедрение команд операционной системы CVE-2026-102224 (8.4) требует высоких привилегий и участия пользователя. Обход каталогов CVE-2026-113823 (7.5, CWE-22) доступен без аутентификации по сети и ведёт к чтению файлов. Похожая ошибка CVE-2026-114161 (7.8) работает локально и даёт повышение привилегий. Четвёртая, CVE-2026-113822 (6.5, CWE-862), связана с отсутствием проверки авторизации.
Клиентские библиотеки, CLI и конвейеры
Microsoft Authentication Library для JavaScript нужно обновить до 5.21.0, для Node.js - до 7.0.1. Слабые места в клиентских библиотеках опасны тем, что код распространяется по чужим приложениям: токены и параметры входа проходят через библиотеку, а обновляют её не всегда быстро.
В записи CVE-2026-109457 для Azure CLI затронутым продуктом указан Azure Machine Learning с версиями до 2.45.1. Внедрение команд в CLI требует участия пользователя: достаточно, чтобы он запустил подготовленную команду или открыл сформированный файл конфигурации.
Отдельно стоит CVE-2026-119989 (8.2, CWE-77) - внедрение команд в Azure Pipelines, запись относит ошибку к Azure Web Apps до версии 2.10.0. Сложность эксплуатации высокая, участие пользователя не требуется. Для сборочных конвейеров это чувствительно: они работают с секретами и учетными данными развёртывания.
Локальные повышения привилегий на хостах
Остальные ошибки дают локальное повышение привилегий. В Azure File Sync (CVE-2026-118288, 7.0, CWE-732) исправление в версии 23.2. В Azure Local (CVE-2026-105734, 7.0) - в сборке 1.2610.2.3134. Вспомогательная утилита монтирования aznfs (CVE-2026-105494, 7.8, CWE-426) ищет исполняемые файлы по недоверенному пути, исправлено в 3.0.20. В Azure Kubernetes Service (CVE-2026-122986, 7.8, CWE-269) проблема в пакете ядра kernel-mshv.
Сюда же относятся менее критичные CVE-2026-109460 в Entra Private Network Connector (5.5, локальное раскрытие информации, обновление до 1.5.5130.0) и CVE-2026-109462 в прошивке виртуальных машин Azure (4.4, CWE-299, некорректная проверка отзыва сертификата, сборка 2610). Обе требуют уже имеющегося доступа к системе.
Что исправляет патч
Обновления закрывают конкретные механизмы: отсутствие проверки подлинности, неверную проверку прав, обход каталогов, внедрение команд, небезопасный путь поиска исполняемых файлов. Управляемые сервисы Azure, включая Azure OpenAI, Managed Grafana, Front Door и Azure DevOps, Microsoft исправила на своей стороне. Локальные продукты и библиотеки требуют установки обновлений в инфраструктуре клиента. Обходные меры в записях CVE не приведены.
Затронутые версии
- Azure OpenAI - сборки до hyena-infra-build-official/20260923.14.
- Azure Privileged Identity Management - до 2.0.32.2053.
- Azure CycleCloud - до 8.10.1.
- Azure DevOps Server 2025 - до Patch 9 и 10 в зависимости от ошибки.
- Azure File Sync - до 23.2, Azure Local - до 1.2610.2.3134.
- MSAL для JavaScript - до 5.21.0, для Node.js - до 7.0.1.
- aznfs - до 3.0.20, Azure Web Apps - до 2.10.0, Azure Machine Learning - до 2.45.1.
- Azure Confidential Clean Rooms - до 11.0.0 (CVE-2026-121668, 7.7, CWE-862).
Если обновиться нельзя
Для управляемых сервисов обходных мер не требуется: исправление уже применено, а проверять стоит конфигурацию доступа и выданные права. Для локальных компонентов при отсутствии возможности установить патч имеет смысл ограничить сетевой доступ к Azure DevOps Server и CycleCloud, отключить неиспользуемые расширения и внимательно смотреть на учетные записи с правом активации ролей. Клиентские библиотеки обновляются вместе с приложением, поэтому стоит проверить их версии в манифестах зависимостей.
Обновление Azure CLI, aznfs и пакетов ядра AKS удобнее проводить через обычные каналы пакетного менеджера, а не вручную. Для Azure DevOps Server важен не только номер патча, но и последовательность установки: часть исправлений выпущена отдельными патчами, и пропуск промежуточного может усложнить обновление.
Ссылки
- https://portal.msrc.microsoft.com/en-us/security-guidance
- https://www.cve.org/CVERecord?id=CVE-2026-109467
- https://www.cve.org/CVERecord?id=CVE-2026-119990
- https://www.cve.org/CVERecord?id=CVE-2026-114160
- https://www.cve.org/CVERecord?id=CVE-2026-114162
- https://www.cve.org/CVERecord?id=CVE-2026-85923
- https://www.cve.org/CVERecord?id=CVE-2026-118742
- https://www.cve.org/CVERecord?id=CVE-2026-102224
- https://www.cve.org/CVERecord?id=CVE-2026-119989
- https://www.cve.org/CVERecord?id=CVE-2026-109457