Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-24061 — GNU InetUtils telnetd — неаутентифицированный удалённый root через внедрение переменной NEW-ENVIRON. | Kitploit
Инструменты/GitHubGitHub/franckferman/cve-2026-24061
Сканеры уязвимостейЭксплуатацияСетевая безопасностьТестирование на ПроникновениеРазведка угрозАутентификацияОбучение и ОбразованиеRed Teaming
GitHubfranckferman/cve-2026-24061

CVE-2026-24061

GNU InetUtils telnetd — неаутентифицированный удалённый root через внедрение переменной NEW-ENVIRON.

Репозиторий
5256 месяцев назадЕщё не проверено
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE Score License Python No deps

GNU InetUtils telnetd — Неаутентифицированный удалённый root через инъекцию переменной NEW-ENVIRON

Обзор - Технический анализ - Затронутые версии - Использование - Устранение и смягчение - Ссылки


Обзор уязвимости

CVE-2026-24061 — это критическая уязвимость обхода аутентификации в демоне telnetd, распространяемом в составе GNU InetUtils. Дефект заключается в обработке опции Telnet NEW-ENVIRON (RFC 1572) во время начального протокольного рукопожатия.

Корневая причина — отсутствие санитизации переменных окружения, предоставленных клиентом, перед их передачей программе login(1). Когда демон Telnet получает пакет суб-согласования NEW-ENVIRON IS, содержащий переменную USER со значением -f root, он передаёт это несанитизированное значение напрямую системному бинарному файлу login.

В системах, где login принимает флаг -f (принудительный вход без проверки пароля), это приводит к предоставлению удалённому атакующему неаутентифицированной root-сессии.

Этот класс уязвимостей имеет исторический прецедент: CVE-2001-0797 в SysV telnetd и известный обход -f в Linux telnetd 1994 года эксплуатировали тот же фундаментальный недостаток — отсутствие санитизации аргументов, поступающих из окружения, перед передачей привилегированным бинарным файлам.

Учётные данные не требуются. Предварительный доступ не нужен. Одна последовательность сетевых пакетов даёт root.

Технический анализ

Корневая причина

telnetd из GNU InetUtils обрабатывает суб-согласование NEW-ENVIRON (код опции 0x27, согласно RFC 1572) для сбора переменных окружения, предоставленных клиентом. Эти переменные собираются в вектор аргументов и передаются в execve(2) при запуске login(1).

Уязвимость срабатывает следующим образом:

  1. Сервер отправляет IAC DO NEW-ENVIRON, запрашивая переменные окружения у клиента.
  2. Вредоносный клиент отвечает IAC WILL NEW-ENVIRON.
  3. Сервер отправляет IAC SB NEW-ENVIRON SEND IAC SE.
  4. Клиент отправляет инъекционную полезную нагрузку:
IAC SB NEW-ENVIRON IS
  VAR "USER" VALUE "-f root"
IAC SE
  1. telnetd формирует вызов login как login -f root.
  2. login(1) интерпретирует -f как «принудительный вход, пропустить аутентификацию» и выполняет вход указанного пользователя (root) без запроса пароля.

Разбор на уровне протокола

ШагНаправлениеTelnet-байты (hex)Значение
1S -> CFF FD 27IAC DO NEW-ENVIRON
2C -> SFF FB 27IAC WILL NEW-ENVIRON
3S -> CFF FA 27 01 FF F0IAC SB NEW-ENVIRON SEND IAC SE
4C -> SFF FA 27 00 00 55 53 45 52 01 2D 66 20 72 6F 6F 74 FF F0IAC SB NEW-ENVIRON IS VAR "USER" VALUE "-f root" IAC SE

Почему -f root работает

Бинарный файл login(1) во многих системах Linux принимает флаг -f <user> для «предварительно аутентифицированных» входов, исторически использовавшийся терминальными мультиплексорами и rlogin. Когда telnetd формирует свой вызов exec и не удаляет ведущие дефисы или не проверяет строки, похожие на опции, в значениях переменных окружения, он непреднамеренно передаёт управляемые атакующим флаги напрямую в login.

Эффективный вызов становится:

execve("/bin/login", ["login", "-f", "root"], envp);

Сценарий атаки

Атакующий                                    Уязвимый telnetd (порт 23)
   |                                                   |
   |------- TCP SYN (порт 23) ----------------------->|
   |<------ TCP SYN-ACK -------------------------------|
   |------- TCP ACK ---------------------------------->|
   |                                                   |
   |<------ Telnet-баннер + IAC DO NEW-ENVIRON --------|
   |------- IAC WILL NEW-ENVIRON --------------------->|
   |<------ IAC SB NEW-ENVIRON SEND IAC SE ------------|
   |                                                   |
   |------- IAC SB NEW-ENVIRON IS                      |
   |        VAR "USER" VALUE "-f root" IAC SE -------->|
   |                                                   |
   |        [telnetd вызывает: login -f root]          |
   |                                                   |
   |<------ Приглашение root-оболочки (#) -------------|
   |                                                   |
   |------- id; whoami; cat /etc/shadow -------------->|
   |<------ uid=0(root) root /etc/shadow содержимое ---|

Предварительные условия:

  • Целевая система запускает telnetd из GNU InetUtils (TCP/23 открыт)
  • Незапатченная версия inetutils
  • Бинарный файл login(1) поддерживает флаг -f (стандартно в большинстве дистрибутивов Linux)
  • Брандмауэр не блокирует TCP/23

Затронутые версии

Программное обеспечениеЗатронутые версииСтатус
GNU InetUtils telnetd<= 2.x (конкретная запатченная версия уточняется)Уязвим
Дистрибутивы, поставляющие незапатченный GNU inetutilsРазличныеПроверьте рекомендации вендора

Проверьте, поставляет ли ваш дистрибутив запатченную версию. Во многих современных системах Telnet отключён по умолчанию; для эксплуатации требуется явно запущенный telnetd.

Оценка CVSS

МетрикаЗначение
Базовый балл CVSS v3.19.8 (Критический)
Вектор атакиСеть
Сложность атакиНизкая
Требуемые привилегииНет
Взаимодействие с пользователемНет
Область действияБез изменений
Влияние на конфиденциальностьВысокое
Влияние на целостностьВысокое
Влияние на доступностьВысокое
Строка вектораCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Сопоставление с MITRE ATT&CK

ID ATT&CKТактикаТехникаАктуальность
T1190Начальный доступЭксплуатация публично доступного приложенияПрямая эксплуатация telnetd по сети
T1059ВыполнениеИнтерпретатор команд и скриптовВыполнение команд в оболочке после эксплуатации
T1078.004Повышение привилегий / Обход защитыДействительные учётные записи: локальные учётные записиОбход аутентификации даёт действительную root-сессию
T1548Повышение привилегийЗлоупотребление механизмом контроля повышения привилегийФлаг login -f используется для обхода PAM/аутентификации
T1046РазведкаОбнаружение сетевых службКомпонент массового сканирования в PoC

Установка

Требования: Python 3 (только стандартная библиотека, ноль внешних зависимостей).

git clone https://github.com/franckferman/CVE_2026_24061.git
cd CVE_2026_24061

pip install не требуется. Оба скрипта используют только стандартную библиотеку Python.

Структура проекта

Скачать инструмент