32세 벌레가 텔넷 서버에 들어오다 (GNU inetutils CVE-2026-32746)
CVE-2026-32746은 1994년부터 존재해온 Telnetd의 LINEMODE SLC(Set Linemode Characters) 협상 처리부에 있는 BSS 기반 버퍼 오버플로우 취약점입니다. 이 취약점은 GNU inetutils 기반의 다양한 Telnetd 구현체에 영향을 미치며, 특히 주요 리눅스 배포판과 여러 BSD 계열, 임베디드 시스템까지 광범위하게 퍼져 있습니다.
취약점은 Telnet 프로토콜의 LINEMODE 기능에서 서버가 클라이언트로부터 받은 SLC 데이터를 고정 크기 배열에 경계 검사 없이 저장하면서 발생하며, 이를 통해 인접 변수 약 400바이트를 덮어쓸 수 있습니다. 다만, 실제 악용은 제한된 입력 형식과 패킷 크기 제한, 그리고 시스템별 메모리 배치 차이로 인해 매우 복잡하며, 64비트 시스템에서는 특히 포인터 완전 덮어쓰기가 어렵습니다.
가장 흥미로운 점은 Debian 32비트 환경에서 발견된 임의 메모리 해제(arbitrary free) 가능성으로, 이로 인해 간접적인 원격 코드 실행 가능성이 열릴 수 있으나, 현대 시스템의 메모리 관리와 추가 보안 조치로 인해 즉각적인 RCE는 어렵습니다. 또한, 취약점 탐지용 도구가 공개되어 있어 LINEMODE 지원 여부와 취약성 여부를 비침해적으로 확인할 수 있습니다.
현재 inetutils 프로젝트는 공식 패치를 아직 릴리스하지 않았으며, 대부분의 배포판도 패치가 미흡한 상태이므로, Telnet 서비스를 운영하는 조직은 소스코드 수준에서 최신 커밋을 적용해 직접 빌드하는 등 신속한 대응이 요구됩니다. 이 취약점은 오래된 프로토콜과 코드가 현대 환경에서도 여전히 사용되고 있음을 보여주는 사례로, 특수 환경에서 Telnet을 사용하는 시스템 관리자에게는 중대한 보안 위협이 될 수 있습니다.
