The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Серия новых уязвимостей в telnetd, позволяющих получить root-привилегии в системе

25.02.2026 13:32 (MSK)

Следом за выявленной в конце января уязвимостью, позволявшей подключиться под пользователем root без проверки пароля, в сервере telnetd из набора GNU InetUtils выявлено несколько способов повышения своих привилегий, ставших следствием неполного устранения уязвимости в 1999 году (CVE-1999-0073).

Уязвимости вызваны наличием в telnetd возможности передачи клиентом переменных окружения на сервер при помощи опции ENVIRON. Подобные переменные окружения выставляются и обрабатываются в контексте процесса telnetd и передаются в запущенные им дочерние процессы, включая запускаемый с правами root процесс /bin/login. Уязвимость CVE-1999-0073 позволяла telnet-клиенту передать переменную окружения LD_LIBRARY_PATH, выставление которой приводит к загрузке указанной пользователем разделяемой библиотеки при запуске процесса login. При возможности загрузки файлов в систему, поддерживающую подключение по протоколу telnet, атакующий может загрузить специально оформленную библиотеку и организовать её загрузку с правами root.

В telnetd из набора GNU InetUtils уязвимость была устранена путём запрета опасных переменных окружения через фильтрацию по маскам "LD_", "LIBPATH", "ENV", "IFS" и "_RLD_". При этом незаблокированной оказалась переменная окружения "CREDENTIALS_DIRECTORY", обрабатываемая при запуске /usr/bin/login. При помощи данной переменной окружения пользователь мог изменить каталог с настройками учётных данных и разместить в новом каталоге файл login.noauth со значением "yes", активирующим вход без пароля (аналог передачи процессу login флага "-f"). Настройка действует для всех пользователей, включая root.

Атака сводится к созданию непривилегированным пользователем подкаталога в своём домашнем каталоге, загрузки в него файла login.noauth и попытки входа с выставлением переменной окружения "CREDENTIALS_DIRECTORY=созданный каталог" и передачей переменной окружения "USER=root" (в telnet имеется режим автоматического подключения, в котором имя пользователя берётся не из командной строки, а передаётся через переменную окружения USER). Пример эксплоита.

Следом выявлен ещё один способ получения root-доступа через telnetd, связанный с манипуляцией переменными окружения OUTPUT_CHARSET и LANGUAGE, обрабатываемыми библиотекой GNU gettext, и переменной окружения GCONV_PATH, используемой в glibc. Через выставление переменных окружения OUTPUT_CHARSET и LANGUAGE атакующий может активировать в gettext функциональность преобразования кодировки символов, вызывающей функцию iconv_open(). В свою очередь, при выполнении функции iconv_open() при загрузке конфигурационного файла gconv-modules, путь вычисляется с учётом переменной окружения GCONV_PATH. Через подстановку файла gconv-modules можно организовать загрузку собственной разделяемой библиотеки во время вывода локализированной строки процессом login.

CVE-идентификаторы отмеченным уязвимостям пока не присвоены. В качестве метода защиты рассматривается задействование белого списка допустимых значений ("TERM", "DISPLAY", "USER", "LOGNAME" и "POSIXLY_CORRECT") с блокированием всех остальных переменных окружения, по аналогии с тем как осуществляется работа с переменными окружения в OpenSSH. Уязвимости подтверждены в пакете GNU InetUtils, реализация сервера telnetd из которого поставляется в Debian, Ubuntu и производных дистрибутивах. Исправления для GNU InetUtils пока отсутствуют. В Rocky Linux 9 поставляется не подверженный уязвимости модифицированный telnetd, в котором вместо фильтрации опасных переменных окружения включена проверка по белому списку. Фильтрация по белому списку также реализована в telnetd из состава FreeBSD. В OpenBSD telnetd исключён из системы в 2005 году.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимость в telnetd, позволяющая подключиться с правами root без аутентификации
  3. OpenNews: Во FreeBSD устранено 5 уязвимостей, включая критическую root-уязвимость в telnetd
  4. OpenNews: Получение root привилегий через telnetd демон во FreeBSD (опубликован патч)
  5. OpenNews: Критическая проблема безопасности в telnet сервисе Solaris
  6. OpenNews: Уязвимость в KDE Konsole, позволяющая выполнить код при открытии страницы в браузере
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64869-telnet
Ключевые слова: telnet
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 14:58, 25/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    >telnet

    Кто-то этим ещё пользуется в 2026 году?

     
     
  • 2.2, q (ok), 15:01, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну может те, кто запускает его на слабом железе, вроде клубня картофеля. На картошке особо криптографию не повычисляешь, зато запустить в лоб telnet -- самое то.
     
     
  • 3.3, laindono (ok), 15:04, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще есть специальная картофельная крипта для совсем-совсем микрух. Но это больше для iot-штук.
     
     
  • 4.12, Аноним (-), 15:16, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще есть специальная картофельная крипта для совсем-совсем микрух. Но это больше для iot-штук.

    Какую-нибудь salsa или chacha если совсем приперло - можно наверное даже на тетрадном листочке посчитать, а уж если это мк и считать умеет, то более-менее нормальное крипто приделать все же можно. Разве что если у вас pic10 и почти все ушло на основную задачу - но там и передавать будет нечего и некуда. Да и за те же деньги можно CH32 взять, наконец.

     
     
  • 5.26, laindono (ok), 16:02, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Я про штуки вроде https://github.com/jedisct1/libhydrogen
    Этим можно баловаться на 8-битниках.

    salsa/chacha это только симметрия. Для комплекта нужен обмен ключиками ещё.

     
  • 3.6, Аноним (6), 15:13, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, ну да, а dropbear для кого тогда?
     
     
  • 4.24, Аноним (24), 16:01, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Dropbear он, всё же, для SoC MMU.
     
  • 3.34, Соль земли2 (?), 16:34, 25/02/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.4, Аноним (4), 15:08, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всяко полно таких telnetd в энергоотрасли и оборонке.
     
  • 2.5, Аноним (5), 15:10, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да!
     
  • 2.8, Alladin (?), 15:14, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    вопрос странный, вы маршрутизаторов никогда не видели? там даже если и ssh есть то обязательно порезанный dropbear, а telnet там есть всегда
     
     
  • 3.13, Аноним (-), 15:17, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > вопрос странный, вы маршрутизаторов никогда не видели? там даже если и ssh есть
    > то обязательно порезанный dropbear, а telnet там есть всегда

    Так там и телнет тоже - порезаный. Кто ж припрет то на роутер полный coreutils с именно этим telnetd? Он в флешку не влезет со всем обвесом.

     
     
  • 4.15, Alladin (?), 15:28, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вот видите и вы понимаете почему там telnet причутствует и кому он нужен
     
  • 3.28, Аноним (28), 16:10, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В составе busybox.
     
  • 2.17, Стакаша (?), 15:38, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У некоторых новых домашних рутеров оно есть.
     
  • 2.22, Sm0ke85 (ok), 15:55, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Кто-то этим ещё пользуется в 2026 году?

    Вообще-то это один из распространенных способов взаимодействия с маршрутизаторами, если что...

     
  • 2.29, sena (ok), 16:15, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>telnet
    >Кто-то этим ещё пользуется в 2026 году?

    Да у меня LANCOM R883+ отзывается

     

  • 1.9, Аноним (9), 15:14, 25/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    То-то 23 порт сложно закрыть в этих ваших линуксах.
     
  • 1.10, Аноним (-), 15:14, 25/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > неполного устранения уязвимости в 1999 году (CVE-1999-0073).

    Так то классно. Вот где ж вы были то в 1999 году? Что атаковать то? :)

     
     
  • 2.16, Alladin (?), 15:29, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    маршрутизаторы
     
     
  • 3.31, Аноним (31), 16:22, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    тебе уже выше ответили, что в маршрутизаторах не telnetd.
     

  • 1.11, Аноним (11), 15:15, 25/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Типичный C и типичный GNU.
     
     
  • 2.14, Аноним (14), 15:20, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Типичный C и типичный GNU.

    Типичный "читатель". Если бы прочел, наверное понял бы, что ничего не мешает так же написать на русте.

     
     
  • 3.21, Аноним (21), 15:52, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Если бы прочел, наверное понял бы, что ничего не мешает так же написать на русте

    Написать, конечно, можно, но пока что именно сишники, а не растовики, додумались дать возможность поиметь программу прямо через стандартную библиотеку С. Ты же читал новость, не так ли? А там:

    "способ получения root-доступа через telnetd, связанный с манипуляцией переменными окружения OUTPUT_CHARSET и LANGUAGE, обрабатываемыми библиотекой GNU gettext, и переменной окружения GCONV_PATH, используемой в glibc."

     
  • 2.18, Аноним (18), 15:39, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Типичный бэкдор.
     
     
  • 3.33, Аноним (33), 16:32, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    GNU и есть проект по бекдоринга всея "опсоса" (опенсурса)
     
  • 2.30, Аноним (30), 16:21, 25/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    На что спорим ты бы и так не написал? Ну без ЫЫ конечно.
     

  • 1.19, Аноним (19), 15:43, 25/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > В Rocky Linux 9 поставляется не подверженный уязвимости модифицированный telnetd, в котором вместо фильтрации опасных переменных окружения включена проверка по белому списку. Фильтрация по белому списку также реализована в telnetd из состава FreeBSD. В OpenBSD telnetd исключён из системы в 2005 году.

    Они всё знали, но боялись признаться.

     
  • 1.20, Аноним (21), 15:46, 25/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > возможности передачи клиентом переменных окружения на сервер
    > передаются в запущенные им дочерние процессы, включая запускаемый с правами root /bin/login
    > переменная окружения "CREDENTIALS_DIRECTORY"
    > переменной окружения "USER=root" (в telnet имеется режим автоматического подключения [..] передаётся через переменную окружения USER).

    Очередное бинго из гениальных диовских решений. 🤦

    Принимаем приватные данные через переменные окружения, да еще и откуда-то из сети, да еще и автоматически подключаемся, да еще и под рутом. Что может пойти не так? 🤔

     
  • 1.32, Аноним (32), 16:27, 25/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    При запуске надо писать:
    Вам следует подыскать другое решение ваших задач.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру