KeeneticOS 5.1.5 закрывает уязвимости в GnuTLS и strongSwan

KeeneticOS

Вышла прошивка KeeneticOS 5.1.5 для интернет-центров и роутеров Keenetic. Ее ключевое изменение - обновление двух системных библиотек: GnuTLS до версии 3.8.13 и strongSwan до актуальной сборки. В них исправлены уязвимости, часть которых позволяет удаленному злоумышленнику вызывать переполнение буфера, обходить проверку сертификатов или даже выполнить код. Владельцам устройств стоит установить обновление, не дожидаясь появления признаков атаки.

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

Обновление GnuTLS устраняет одиннадцать задокументированных уязвимостей. Самые опасные из них находятся в коде обработки DTLS - защищенного варианта протокола TLS, который работает поверх UDP, то есть без установления постоянного соединения. В функции сборки handshake-сообщений из фрагментов не проверялась согласованность значений длины. Атакующий мог отправить специально сформированные фрагменты, из-за чего система выделяла буфер меньшего размера, а затем записывала в него данные большего объема. Эта ошибка получила идентификатор CVE-2026-33846 и высокий балл по шкале CVSS. Подобная проблема возникала также при обработке фрагментов с нулевой длиной: целочисленное переполнение снизу приводило к выходу за границы буфера. Обе ошибки могут вызывать отказ в обслуживании, а дефекты работы с памятью в ряде случаев удается превратить в выполнение произвольного кода. Для эксплуатации DTLS-уязвимостей злоумышленнику достаточно отправить вредоносный пакет на уязвимый сетевой порт, то есть атака не требует предварительного доступа к устройству.

Помимо ошибок памяти, в GnuTLS закрыты недочеты проверки сертификатов. Один из них возникал, когда в цепочке сертификатов вышестоящие удостоверяющие центры задавали только исключающие ограничения на имена. Логика библиотеки в такой ситуации могла проигнорировать разрешающие ограничения, что позволяло принять сертификат, выпущенный для домена, который должен был быть отвергнут. Другая проблема появлялась при обработке слишком длинных записей Subject Alternative Name - расширения сертификата, содержащего список доменных имен. Вместо проверки этих имен код переключался на сравнение с полем Common Name. В обоих случаях создается возможность подмены легитимного сервера и перехвата зашифрованного трафика. Отдельно исправлен дефект в обработке OCSP-ответов, то есть протокола для проверки статуса отзыва сертификата: из-за ошибки библиотека могла принять отозванный сертификат как действующий, что подрывает доверие к сертификационной инфраструктуре в целом. Кроме того, закрыты менее заметные проблемы, связанные с раскрытием информации через побочные каналы и с чрезмерным потреблением ресурсов при проверке сертификатов.

Вторая библиотека, strongSwan, отвечает в прошивке Keenetic за работу IPsec VPN - сетевого протокола, который защищает соединения между устройствами и используется для удаленного доступа к корпоративным сетям. В ней закрыто семь уязвимостей. Одна из самых значимых - CVE-2026-47895. Она связана с клонированием внутренних объектов, представляющих идентификаторы пользователей. В некоторых случаях у такого объекта оказывается пустое, но не нулевое значение кодировки. При копировании оба объекта начинали ссылаться на одну и ту же область памяти, и после удаления второго происходило повторное освобождение одной и той же области. Это классический сценарий повреждения кучи, который часто приводит к падению процесса, но в худшем случае может быть использован для удаленного выполнения кода. Атака возможна при отправке специально сформированного идентификатора в рамках EAP-аутентификации (протокола расширенной аутентификации) или XAuth. Правда, для этого на устройстве должны быть включены соответствующие методы, что зависит от конфигурации конкретного VPN-профиля.

Еще одна уязвимость, закрытая в strongSwan, затрагивает плагин eap-mschapv2, применяемый для аутентификации по протоколу MS-CHAP-v2. При получении клиентом слишком короткого пакета Failure Request проверка длины выполнялась не по полезной нагрузке, а по всему пакету, из-за чего возникало отрицательное значение длины. Оно преобразовывалось в огромное число при передаче в функцию копирования, что вызывало переполнение буфера в куче. В зависимости от версии библиотеки и настроек компилятора это приводило либо к немедленному отказу в обслуживании, либо к потенциальному выполнению кода. Однако практическая эксплуатация этой уязвимости сложна: злоумышленник должен находиться на стороне сервера аутентификации или иметь возможность подменять трафик между клиентом и сервером. Остальные исправления в strongSwan касаются бесконечных циклов при обработке TLS-расширений, нулевых указателей в коде работы с ECDH-ключами и некорректного разбора RADIUS-атрибутов. Они в основном выводят из строя отдельные процессы, но вместе с более опасными ошибками делают обновление обязательным.

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

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

Ссылки

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