KeeneticOS 5.1.7 закрывает две уязвимости в OpenVPN, приложении, через которое роутеры Keenetic подключаются к чужим защищённым сетям и принимают такие подключения сами. Одна из ошибок даёт постороннему человеку возможность вывести устройство из строя по сети, без логина и пароля. Оценка 8,7 по шкале CVSS 4.0 ставит её на уровень High по классификации производителя. Вторая ошибка связана с обращением к уже освобождённой памяти и способна обрушить служебный процесс. Прошивка с исправлениями идёт на все поддерживаемые модели.
Детали уязвимостей
Самая неприятная из двух - CVE-2026-84732. OpenVPN постоянно обменивается служебными сообщениями, которые подтверждают получение пакетов. Инженеры называют их ACK-пакетами, то есть пакетами подтверждения. Каждое такое сообщение несёт идентификатор, и при потере связи отправитель повторяет его. Если злоумышленник станет повторять подтверждения с подобранными параметрами, внутренний счётчик времени ожидания переполнится. Целое число выйдет за отведённые границы, и логика обработки соединения сломается. Дальше сессия зависает, а следом перестаёт отвечать и сам туннель.
Аутентификация для такой атаки не нужна. Достаточно достучаться до сетевого порта OpenVPN и слать пакеты в нужном порядке. Из-за этого уязвимость затрагивает обе стороны протокола: и того, кто подключается к чужому серверу, и того, кто ждёт подключений у себя. Особенно уязвимы узлы, чей порт открыт в интернет напрямую, без промежуточного фильтра. Отказ в обслуживании здесь означает не потерю одного соединения, а остановку всей службы, пока устройство не перезагрузят.
Уязвимы все сборки ветки 2.6 вплоть до 2.6.22 и ветки 2.7 вплоть до 2.7.6. Исправления вышли в версиях 2.6.23 и 2.7.7. Keenetic при этом указывает в описании выпуска собственную сборку 2.6.22-2, собранную на базе той же ветки с уже добавленными заплатками.
Вторая уязвимость, CVE-2026-84471, проявляется в момент завершения защищённой сессии. Проверка, которая следит за буфером сессии, оказалась неполной. В сценарии, когда соединение уже закрывается (в документации OpenVPN его называют lame duck, то есть завершающаяся сессия), буфер освобождается дважды. Программа возвращает системе участок памяти, который вернула раньше. Такая ошибка известна как двойное освобождение, и её последствия зависят от того, что успеет записать в освобождённую область другое соединение. Иногда всё заканчивается аварийным завершением процесса, иногда повреждением данных в памяти.
Разработчики OpenVPN дополнили более раннее исправление для CVE-2026-13117. Тогда ту же функцию защиты закрыли не до конца, и часть сценариев осталась открытой. Теперь проверку переписали целиком. Уязвимость затрагивает версии от 2.6.0 до 2.6.22 и альфа-сборки ветки 2.7 вплоть до 2.7.6. Заплатки появились в 2.6.23 и 2.7.7.
Вместе с OpenVPN обновился набор корневых сертификатов Mozilla, который в KeeneticOS поставляется пакетом ca-certificates версии 20260816. На этом списке держится проверка подлинности серверов при защищённых подключениях. Список меняется постоянно: одни удостоверяющие центры прекращают работу, другие теряют доверие после нарушений при выдаче сертификатов. Если набор устареет, проверка начнёт выдавать ошибки на исправных узлах. На практике это подталкивает людей отключать проверку целиком, а вместе с ней и защиту от подмены сервера.
Третий пункт выпуска касается разграничения прав. Keenetic закрыла обход проверки подлинности для учётных записей без прав администратора, через который можно было добраться до конфиденциальных системных файлов. Речь о локальном сценарии: атакующему нужно сначала получить доступ к устройству под ограниченной учётной записью. Но и такой доступ не должен открывать конфигурацию, где лежат ключи и пароли. Пользователь с урезанными правами видел больше, чем ему положено, в том числе настройки туннелей.
Практический интерес здесь в том, что роутер стоит на границе домашней или офисной сети и часто смотрит в интернет напрямую. Служба OpenVPN на устройстве доступна сканерам, которые круглосуточно перебирают адреса и порты. Отказ в обслуживании роутера означает пропажу связи для всех, кто за ним, и разрыв туннеля между удалёнными площадками. Данных о том, что обе уязвимости уже используют в реальных атаках, в бюллетене нет. Однако такие ошибки привлекательны для желающих проверить чужие сети на прочность: специальных знаний они не требуют, а инструменты для отправки пакетов доступны каждому.
Исправление в KeeneticOS 5.1.7 устанавливается штатным способом. Обновиться можно через веб-интерфейс роутера или мобильное приложение Keenetic. Если автообновление включено, устройство загрузит прошивку само и предложит перезагрузку. Тем, кто держит сервер OpenVPN на отдельной машине или на виртуальном сервере, стоит перейти на 2.6.23 либо 2.7.7. Номер версии проверяют командой openvpn --version. Если роутер и сервер оба находятся в одной схеме, обновлять нужно обе стороны: клиент со свежей сборкой всё равно упадёт от пакетов, которые пришлёт старый сервер, и наоборот.
Роутеры обновляют реже, чем ноутбуки и телефоны, поэтому накопленные в них уязвимости живут годами. Две ошибки в OpenVPN затрагивают один и тот же протокол с двух сторон, а порт службы часто остаётся открытым наружу месяцами. Обновление в этом случае занимает несколько минут, тогда как оставленное без присмотра устройство превращается в готовую цель, где отказ в обслуживании достигается без единого пароля.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-84732
- https://community.openvpn.net/Security%20Announcements/CVE-2026-84471
- https://support.keenetic.ru/giga/kn-1012/ru/35833-latest-preview-release.html#106636-keeneticos5-1-7