Уязвимость в Telnet открывает путь к удаленному выполнению кода с правами root

Telnet уязвимость Rce переполнение буфера Cve csoonline.com

Критическая уязвимость в Telnet (CVE-2026-32746) в GNU inetutils telnetd с рейтингом CVSS 9.8 позволяет злоумышленникам получить полный контроль над системами без аутентификации из-за переполнения буфера. — csoonline.com

Критическая уязвимость в Telnet с рейтингом CVSS 9.8 позволяет злоумышленникам получить полный контроль над скомпрометированными системами еще до этапа аутентификации, предупредили исследователи безопасности из Dream Security.

Уязвимость, отслеживаемая как CVE-2026-32746, находится в GNU inetutils telnetd — широко распространенной реализации протокола удаленного доступа Telnet, используемой в устаревшей инфраструктуре, сетевом оборудовании и встраиваемых системах. В современных средах этот протокол с начала 2000-х годов в значительной степени заменен на SSH (Secure Shell).

В системах, где все еще работает уязвимый сервис Telnet, недавно обнаруженный дефект позволяет выполнить удаленное выполнение кода (RCE) с правами root без предварительной аутентификации, что обусловлено ошибкой переполнения буфера.

Согласно записи в Национальной базе данных уязвимостей, коренная причина заключается в переполнении буфера в обработчике LINEMODE Set Local Characters (SLC) демона telnetd, которое срабатывает во время согласования протокола Telnet. Поскольку уязвимость можно использовать до аутентификации, злоумышленники могут немедленно выполнить произвольный код сразу после установления соединения с помощью специально сформированных сообщений.

Во многих развертываниях демон telnetd работает с привилегиями root, что означает, что успешная эксплуатация может привести к полному компрометации системы, отмечает Dream.

Dream уведомила сопровождающих GNU Inetutils об этой уязвимости 11 марта, описав, как можно использовать переполнение буфера.

«Ответ SLC формируется в фиксированном 108-байтном буфере slcbuf, где 104 байта используются для данных после 4-байтового заголовка. Функция add_slc() (строки 162–175) добавляет по 3 байта на триплет SLC, но никогда не проверяет, заполнен ли буфер. Указатель slcptr просто увеличивается при каждом добавлении», — сообщила компания сопровождающим, согласно сообщению в списке рассылки GNU.

«Примерно после 35 триплетов […] пространство в 104 байта превышается, и код начинает запись за пределы slcbuf. Это повреждает все, что находится после него в BSS (включая указатель slcptr). Позже функция end_slc() использует поврежденный slcptr для записи маркера конца суб-опции, что дает атакующему возможность произвольной записи в памяти. Таким образом, это классическое переполнение буфера без проверки границ», — продолжилось в сообщении.

Сопровождающие подготовили исправление на следующий день, планируя выпустить его к 1 апреля, согласно графику, указанному в рекомендациях Dream.

К уязвимым системам относятся встраиваемые системы и IoT-устройства с открытым интерфейсом Telnet; серверы и аппаратные устройства, прослушивающие TCP-порт 23 и использующие уязвимый код, а также дистрибутивы Linux, поставляющие inetutils и оставляющие telnetd включенным или доступным для установки, включая Debian, Ubutnu, RHEL и SUSE, по данным Dream.

«Для срабатывания уязвимости достаточно одного сетевого подключения к порту 23. Не требуются учетные данные, взаимодействие с пользователем или особое сетевое положение», — говорится в сообщении.

Dream рекомендовала ряд немедленных обходных мер до выпуска исправления, включая переход на безопасные альтернативы, такие как SSH, и отключение telnetd или запуск его без привилегий root. Если это невозможно, компания посоветовала блокировать порт 23 на периметре сети и ограничить его использование доверенными хостами.

Это второй дефект, связанный с Telnet, обнаруженный в этом году, после выявления в январе бага обхода аутентификации, который подвергал устройства полному захвату.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: