Microsoft закрыла 55 уязвимостей в SQL Server, включая удалённое выполнение кода с оценкой 9.8

Microsoft SQL Server

Microsoft выпустила обновления, которые закрывают 55 уязвимостей в компонентах SQL Server, клиентских библиотеках и связанных продуктах. Самая опасная, CVE-2026-116945 с оценкой 9.8 по CVSS, позволяет неаутентифицированному атакующему выполнить произвольный код на сервере по сети. Затронуты SQL Server 2017, 2019, 2022 и 2025, а также Microsoft.Data и JDBC Driver for SQL Server. Голландский центр NCSC опубликовал уведомление NCSC-2026-0476 с обычным приоритетом.

Что вошло в набор исправлений

Бюллетень объединяет разнородные ошибки: переполнения буфера в куче и на стеке, SQL-инъекции, чтение за границами буфера, слабую криптографию и обход проверки подписи. Часть из них даёт выполнение кода, часть - повышение привилегий, часть - утечку данных. Microsoft назначила идентификаторы CVE и оценки, NCSC собрала их в одну таблицу с указанием воздействия.

Критическое переполнение кучи

CVE-2026-116945 - переполнение буфера в куче (CWE-122) в SQL Server. Вектор сетевой, привилегии не нужны, участие пользователя не требуется. По описанию NCSC сценарий необычен для СУБД: атакующий контролирует сетевой узел, к которому подключается уязвимый интеграционный пакет, и возвращает специально подготовленный ответ. Когда пакет его обрабатывает, код выполняется с правами интеграционной службы.

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

Условия атаки

Большинство ошибок эксплуатируется по сети. Часть требует учётной записи с низкими правами, часть обходится без аутентификации. Например, CVE-2026-118106 с оценкой 8.1 и CVE-2026-66813 с оценкой 8.1 срабатывают без привилегий, но при высокой сложности атаки. CVE-2026-116930 требует взаимодействия пользователя. Ошибка CVE-2026-118116 - единственная с локальным вектором: она даёт повышение привилегий через SQL-инъекцию и оценена в 7.0.

Практический вывод простой: если экземпляр SQL Server доступен по сети большему числу систем, чем нужно, поверхность атаки расширяется. Ошибки с высокими привилегиями (CVE-2026-116933, CVE-2026-116936, CVE-2026-116944, CVE-2026-94513) требуют учётной записи, но такие учётные записи часто есть у приложений и регламентных скриптов.

Повышение привилегий и SQL-инъекции

Самая многочисленная группа - SQL-инъекции, приводящие к повышению привилегий. Это CVE-2026-118105, CVE-2026-118109, CVE-2026-118110, CVE-2026-118113, CVE-2026-118114, CVE-2026-118115, CVE-2026-118117, CVE-2026-118118, CVE-2026-118119 и CVE-2026-118120. Большинство оценено в 7.5-8.8.

SQL-инъекция означает, что специальные символы в запросе не нейтрализованы (CWE-89). Атакующий с обычной учётной записью подставляет свой фрагмент запроса и получает права выше своих. Для сервера баз данных это ключевой риск: одна украденная учётная запись приложения превращается в контроль над экземпляром и данными.

Рядом стоят ошибки управления привилегиями: CWE-250 в CVE-2026-116929, CWE-822 в CVE-2026-116934 и CVE-2026-67387, CWE-346 в CVE-2026-118111, CWE-94 в CVE-2026-118112, CWE-749 в CVE-2026-84010. Все они требуют хотя бы низких прав и работают по сети.

Утечки данных и слабая криптография

Ошибки чтения за границами буфера (CWE-125, CWE-126) и работы с неинициализированными ресурсами (CWE-908) ведут к раскрытию информации. Среди них CVE-2026-116943 с оценкой 7.5, которая не требует учётной записи. Остальные - CVE-2026-116932, CVE-2026-116935, CVE-2026-116939, CVE-2026-116940, CVE-2026-118103, CVE-2026-118104, CVE-2026-67382 и CVE-2026-68783 - оценены в 4.9-6.5.

Отдельно стоит CVE-2026-118102 (5.9): использование сломанного или рискованного криптоалгоритма (CWE-327). Такая ошибка не даёт мгновенного захвата сервера, но подрывает защиту канала и может раскрыть данные при пассивном наблюдении.

Клиентские библиотеки и соседние продукты

Три записи выходят за пределы самой СУБД. CVE-2026-62903 (7.4) затрагивает Microsoft.Data.SqlClient: обход аутентификации через перехват и повтор (CWE-294). Простыми словами, атакующий перехватывает легитимный обмен и повторяет его, выдавая себя за клиента. Исправлены версии 6.1.7, 7.0.3 и 7.1.0-preview3.

CVE-2026-70003 (8.7) - обход проверки криптографической подписи (CWE-347) в JDBC Driver for SQL Server 13.4 и ниже, исправление в 13.6.0. CVE-2026-69893 относится к Microsoft Azure Kubernetes Service и даёт повышение привилегий, оценка в источнике не указана.

Клиентские библиотеки важны не меньше сервера. Приложение может быть обновлено на уровне СУБД, но продолжать использовать уязвимый драйвер из своей сборки.

Затронутые версии

Исправления вышли для двух веток: GDR (только security-фиксы) и cumulative update. Для SQL Server 2017 нужна сборка 14.0.2150.2 или 14.0.3570.2 для CU31. Для SQL Server 2019 - 15.0.2210.4 или 15.0.4510.2 для CU32. Для SQL Server 2022 - 16.0.1220.3 или 16.0.4315.2 для CU27. Для SQL Server 2025 - 17.0.5045.3 для CU10 или 17.0.1155.3 для GDR.

Часть записей затрагивает только новые ветки. Например, CVE-2026-67372 и CVE-2026-67646 относятся к SQL Server 2025, а CVE-2026-94513 - к 2022 и 2025.

Сведений об эксплуатации нет

Ни в уведомлении NCSC, ни в записях CVE нет данных о реальных атаках. Публичных PoC и эксплойтов в источниках тоже не приводится. Это не означает, что ошибки безопасно откладывать: критическая CVE-2026-116945 не требует ни учётных данных, ни действий пользователя, а такие уязвимости обычно быстро берут на вооружение. Данные об эксплуатации могут появиться позже, отдельно от бюллетеня.

Если обновиться нельзя

Сначала ограничьте сетевой доступ к экземплярам. Закройте порт базы от всех систем, кроме тех, которым он действительно нужен. Изолируйте службы интеграции и проверьте, к каким внешним узлам они обращаются: сценарий CVE-2026-116945 требует контроля над удалённой стороной соединения.

Затем урежьте права учётных записей приложений. Ошибки с SQL-инъекциями требуют лишь низких привилегий, поэтому отзыв лишних ролей и запрет динамического SQL снижают эффект. Включите аудит неудачных входов и нестандартных запросов.

Отдельно пройдитесь по клиентским библиотекам в своих сборках и по кластерам Azure Kubernetes Service. Обновление одного сервера не закрывает ошибку в драйвере, встроенном в приложение. После установки патча перезапустите службы, чтобы новые бинарники действительно загрузились.

Ссылки

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