CVE-2026-24061
GNU InetUtils
2026-01-26
GNU InetUtils contains an argument injection vulnerability in telnetd that could allow for remote authentication bypass via a "-f root" value for the USER environment variable.
Технический анализ и план устранения
Суть уязвимости
Уязвимость CVE-2026-24061 в демоне telnetd (входящем в состав GNU InetUtils) относится к классу "Внедрение аргументов" (Argument Injection). Проблема кроется в механизме обработки переменных окружения, которые клиент может передавать серверу на этапе установки Telnet-соединения.
Когда клиент подключается к серверу, он может передать переменную окружения USER. Уязвимая версия telnetd принимает это значение и передает его системной утилите login без должной санитизации (очистки).
Если злоумышленник передаст в качестве значения переменной USER строку -f root, демон telnetd сформирует вызов программы login с этими аргументами. Флаг -f (force) указывает утилите login выполнить вход указанного пользователя без запроса пароля (обычно этот флаг используется внутренними процессами после успешной аутентификации). В результате атакующий получает доступ к системе с привилегиями суперпользователя (root), полностью обходя механизм аутентификации.
Как исправить
Единственным надежным способом устранения данной уязвимости является обновление пакета GNU InetUtils до версии, содержащей исправление (патч добавляет строгую валидацию переменных окружения и запрещает передачу аргументов, начинающихся с дефиса).
- Обновите списки пакетов и установите исправленную версию
telnetdдля систем на базе Debian/Ubuntu:
apt-get update && apt-get install --only-upgrade inetutils-telnetd
- Выполните обновление пакета для систем на базе RHEL/CentOS/Fedora:
dnf update inetutils-telnetd
- Перезапустите службу после обновления для применения изменений:
systemctl restart inetutils-telnetd
- Если вы используете сборку из исходных кодов, загрузите актуальный релиз из официального репозитория GNU, скомпилируйте и установите его, заменив уязвимый бинарный файл.
Временные меры
Если немедленная установка патча невозможна в вашей инфраструктуре, необходимо применить компенсирующие меры для снижения риска эксплуатации.
- Полное отключение Telnet (Рекомендуется). Протокол Telnet передает все данные (включая учетные данные) в открытом виде и не соответствует современным стандартам безопасности. Лучшим решением будет полный отказ от него в пользу SSH. Остановите и отключите службу:
systemctl disable --now inetutils-telnetd
- Ограничение сетевого доступа (Network Segmentation). Если бизнес-процессы требуют сохранения работы Telnet, жестко ограничьте доступ к порту 23 на уровне межсетевого экрана, разрешив подключения только с доверенных IP-адресов администраторов. Пример для iptables:
iptables -A INPUT -p tcp --dport 23 -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 23 -j DROP
- Удаление SUID-бита или ограничение прав. В некоторых конфигурациях можно ограничить права самого бинарного файла
telnetdили утилитыlogin, однако это может нарушить легитимную работу службы. Приоритетом должно оставаться сетевое ограничение или отключение сервиса.