
CVE-2026-24061-PoC
telnetd 인자 주입GNU InetUtils Telnet 데몬(telnetd)에 인자 주입 취약점이 존재합니다. NEW_ENVIRON 협상 중 클라이언트가 제공한 환경 변수에 대한 불충분한 검증으로 인해 공격자가 로컬 로그인 프로세스에 명령줄 플래그를 주입할 수 있으며, 이로 인해 인증 우회가 발생할 수 있습니다.
telnetd → /usr/bin/loginGNU InetUtils telnetd 1.9.3 – 2.7 (패치되지 않음).
세션 협상 중에 telnetd는 클라이언트가 USER와 같은 환경 변수를 서버에 전달할 수 있게 하는 NEW_ENVIRON Telnet 옵션을 준수합니다. 그런 다음 데몬은 이 값을 /usr/bin/login을 호출하는 데 사용되는 인수 목록에 직접 삽입합니다.
값이 합법적인 사용자 이름 문자만 포함하는지 검증되지 않기 때문에, 클라이언트는 하이픈(-)으로 시작하는 문자열을 제공할 수 있습니다. 이는 사용자 이름으로 처리되는 대신 login에 의해 명령줄 플래그로 해석됩니다. login 구현에 따라, 이는 비밀번호 인증을 건너뛰는 동작(예: -f "이미 인증됨" 플래그를 통해)을 가능하게 하여 무단 액세스로 이어질 수 있습니다.
연결 전에 USER 환경 변수를 옵션 플래그가 포함된 값으로 설정하십시오:
USER="-f root" telnet -a <target_ip>
대상이 취약한 경우, login은 -f root를 리터럴 사용자 이름으로 처리하지 않고 비밀번호 없이 root로 인증하라는 지시로 해석합니다.
설치된 패키지 버전 확인:
Debian / Ubuntu:
dpkg -l | grep inetutils-telnetd
RHEL / CentOS:
rpm -qa | grep inetutils
telnetd가 login에 전달하기 전에 -로 시작하는 USER 값을 거부하거나 제거하는 패치된 GNU InetUtils 릴리스로 업그레이드하십시오.