В сфере информационной безопасности вновь обнаружена критическая уязвимость, на этот раз затрагивающая фундаментальный компонент удалённого администрирования - сервер OpenSSH. Речь идёт об ошибке в реализации патча для механизма обмена ключами GSSAPI (Generic Security Service Application Program Interface), которая ставит под угрозу стабильность и конфиденциальность множества Linux-систем. Уязвимость, зарегистрированная под идентификатором CVE-2026-3497, позволяет неавторизованным злоумышленникам вызывать аварийное завершение дочерних процессов SSH, отправляя всего один специально сформированный сетевой пакет. Это приводит не только к гарантированному отказу в обслуживании, но и к нарушению границ привилегий - фундаментального принципа изоляции процессов в системе.
Уязвимость CVE-2026-3497
Проблема была обнаружена исследователем Джереми Брауном и официально раскрыта сообществу открытого исходного кода Марком Деслорером из компании Canonical, ответственной за дистрибутив Ubuntu. Суть уязвимости кроется в фундаментальной ошибке программирования внутри логики обработки сбоев в серверном цикле обмена ключами GSSAPI. В ситуации возникновения ошибки код по ошибке вызывает функцию "sshpkt_disconnect()", которая не завершает процесс, вместо предназначенной для этого функции "ssh_packet_disconnect()". Поскольку некорректная функция лишь ставит в очередь сообщение о разрыве соединения и возвращает управление, программа переходит к обработке ошибки по умолчанию. Это позволяет системе прочитать неинициализированную переменную в стеке с именем "recv_tok".
Затем содержимое этой неинициализированной переменной, по сути представляющее собой случайные данные из памяти, отправляется через межпроцессное взаимодействие (Inter-Process Communication, IPC) привилегированному монитору, работающему от имени пользователя root. После этого данные передаются функции "gss_release_buffer()", которая пытается освободить память, используя в качестве указателя эти случайные значения, что приводит к тяжёлым повреждениям структуры памяти (memory corruption). Важно отметить, что остаточные данные в стеке, попавшие в переменную, сильно варьируются в зависимости от компилятора, уровня оптимизации и флагов сборки. Однако, несмотря на эту вариативность, уязвимость представляет собой серьёзную угрозу.
Технические последствия и детали эксплуатации заслуживают отдельного внимания. Во-первых, для атаки не требуется никаких действий со стороны пользователя или действующих учётных данных. Уязвимость активируется отправкой единственного вредоносного SSH-пакета размером примерно 300 байт, что классифицируется как атака типа "zero-click". Во-вторых, ошибка гарантирует стопроцентно надёжный крах дочернего процесса SSH. На архитектурах x86_64 это обычно приводит к ошибке сегментации памяти (SIGSEGV) или аварийному завершению программы (SIGABRT), что, в свою очередь, вызывает блокировку SSH-сессии на 90 секунд, полностью нарушая доступ к серверу. В-третьих, и это наиболее критично, происходит нарушение разделения привилегий. До 127 килобайт потенциально чувствительных данных из динамической памяти (heap) могут быть переданы через границы привилегий напрямую монитору с правами root. Это создаёт риски утечки конфиденциальной информации, которая в обычных условиях была бы изолирована.
Под угрозой оказываются Linux-дистрибутивы, в первую очередь Ubuntu и Debian, которые применяют патч GSSAPI поверх стандартных пакетов OpenSSH. Сервер становится уязвимым, если в его конфигурации активирована директива "GSSAPIKeyExchange". Таким образом, под удар попадают корпоративные серверы, системы в государственном секторе и исследовательских институтах, где часто используется аутентификация через Kerberos, интегрируемая именно посредством GSSAPI.
С точки зрения практических мер защиты, сопровождающие из Canonical уже предоставили исправление. Патч технически прост: он заменяет ошибочный вызов "sshpkt_disconnect()" на корректный "ssh_packet_disconnect()" в трёх уязвимых местах серверного кода в файле "kexgsss.c". Системным администраторам, использующим серверы на базе Debian или Ubuntu, настоятельно рекомендуется немедленно обновить пакеты OpenSSH через официальные репозитории. Для организаций, которые не могут применить обновление моментально, эффективной временной мерой станет отключение функции "GSSAPIKeyExchange" в конфигурационном файле SSH-демона ("sshd_config"). Это действие полностью нейтрализует угрозу эксплуатации данной уязвимости, хотя и может повлиять на схемы аутентификации, зависящие от Kerberos.
В заключение, инцидент с CVE-2026-3497 служит очередным напоминанием о критической важности тщательного аудита кода, особенно в компонентах, отвечающих за безопасность и аутентификацию. Даже небольшой дефект в обработке ошибок может привести к масштабным последствиям, включая полную недоступность служб и утечку данных через нарушение изоляции процессов. Оперативное применение патчей и периодический пересмотр конфигураций безопасности остаются ключевыми элементами защиты инфраструктуры в современной цифровой среде.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-3497
- https://ubuntu.com/security/CVE-2026-3497
- https://seclists.org/oss-sec/2026/q1/299
- https://www.openwall.com/lists/oss-security/2026/03/12/3