CVE-2026-24061 — критическая уязвимость типа Argument Injection в демоне Telnetd из набора GNU Inetutils. Уязвимый код находится в компонентах Telnetd в версиях от 1.9.3 до 2.7 включительно.
🫡 Метрики
Base Score: 9.8 Critical
CWE: 88
🫡 Суть уязвимости
В Telnetd переменная окружения USER нужна для предварительного заполнения имени пользователя при аутентификации. -f — это один из флагов в исполняемом файле /usr/bin/login, который позволяет пропустить интерактивную аутентификацию.
Если для переменной USER установить значение -f root и опцию автологина -a, то Telnetd передаст -f root в исполняемый файл /usr/bin/login. Это заставит команду login пропустить аутентификацию и позволит залогиниться как под root, так и под учетную запись любого другого пользователя.
Кстати: можно изменить значения других переменных окружения Telnetd. Пример — мы изменили значение переменной окружения TERM командой:
USER="-f root" TERM="hello" telnet -a 127.0.0.1 2323
🫡 Последовательность атаки
1) Злоумышленник подключается к серверу Telnet.
2) При инициации аутентификации клиент Telnet устанавливает для переменной окружения USER значение -f root.
3) Telnetd получает запрос Suboption New Environment Option и передает значение USER (то есть -f root) как аргумент для /usr/bin/login, где параметр -f позволяет пропустить проверку пароля и осуществляет вход под пользователем root.
4) Клиент получает интерактивную оболочку root на сервере.
😬 Как защититься
1) Обновиться до версии GNU Inetutils 2.7-2 и позднее.
2) Если Telnet не нужен, то сервис Telnetd нужно деактивировать.
3) Создать правило IDS на Telnet-соединения, чтобы отслеживать опции New Environment с переменной USER=-f root.
