В telnet нашли уязвимость с root-доступом в одну строку — она скрывалась в коде 11 лет

Кто использует — срочно обновитесь!

Обложка: В telnet нашли уязвимость с root-доступом в одну строку — она скрывалась в коде 11 лет

В сервере telnetd из пакета GNU InetUtils обнаружили критическую уязвимость, позволяющую получить root-доступ без пароля.

Эксплойт умещается в одну строку, а сама проблема незаметно прожила в коде почти 11 лет — с мая 2015 года. О находке сообщило издание The Register.

Уязвимости присвоен идентификатор CVE-2026-24061, уровень опасности — 9,8 балла по CVSS.

В чем суть бага

Telnet — устаревший протокол удаленного доступа без шифрования. Несмотря на репутацию чего-то древнего и неактуального, telnet до сих пор используется в некоторых Linux-дистрибутивах и встраиваемых системах.

Проблема возникла из-за правок 2015 года в telnetd (версия 1.9.3). Сервер передает имя пользователя в системную утилиту /usr/bin/login, которая поддерживает флаг -f.

Этот флаг сообщает, что пользователь уже аутентифицирован и проверку пароля можно пропустить.

После тех изменений telnetd стал брать имя пользователя из переменной окружения USER — без проверки и экранирования. В итоге атакующий может подставить туда значение -f root и получить root-доступ.

Как выглядит эксплуатация

Эксплойт действительно тривиален и помещается в одну строку:

			USER='-f root' telnet -a servername
		

Если сервер уязвим, подключение сразу происходит от имени суперпользователя — без ввода пароля. По словам Стивена Фьюэра из Rapid7, эксплуатация проблемы «элементарна и гарантированно приводит к полному root-доступу».

Почему это особенно неприятно

  • баг существовал почти 11 лет и попал в код вместе с «исправлением» другой ошибки;
  • атака не требует подбора паролей или сложной подготовки;
  • уязвимость работает до аутентификации;
  • telnet-серверы до сих пор доступны в интернете.

По данным сервиса GreyNoise, за последние сутки зафиксированы попытки эксплуатации CVE-2026-24061 как минимум с 21 уникального IP-адреса.

Что рекомендуют делать

Рекомендации ожидаемые, но все еще актуальные:

  • обновить GNU InetUtils до версии с исправлением;
  • по возможности полностью отказаться от telnet в пользу SSH;
  • временно отключить telnetd;
  • если отключение невозможно — закрыть порт 23/TCP для всех, кроме доверенных IP.