32年老漏洞重现:GNU inetutils Telnetd预认证远程代码执行漏洞(CVE-2026-32746)
🔓 Critical 漏洞利用
攻击者可通过发送特制的LINEMODE SLC(Set Linemode Characters)协商数据包,在无需认证的情况下触发GNU inetutils Telnetd中的BSS缓冲区溢出漏洞,破坏相邻变量并实现远程代码执行。该漏洞自1994年引入,影响Ubuntu、Debian、FreeBSD、NetBSD、Citrix NetScaler、Apple Mac Tahoe、Haiku、TrueNAS Core、uCLinux、libmtev、DragonFlyBSD等多个主流系统和设备。
来源:watchTowr Labs | 0 | 原文链接
🔍 关键发现
- 漏洞位于GNU inetutils Telnetd的LINEMODE SLC(Set Linemode Characters)协商处理函数中,是一个BSS缓冲区溢出漏洞,可覆盖约400字节的相邻变量。
- 该漏洞无需认证即可触发(Pre-Auth),攻击者通过发送IAC SB LINEMODE LM_SLCIAC SE格式的恶意数据包即可利用。
- CVE-2005-0469是此漏洞的客户端对应版本,20年后服务器端才被发现并修复,表明同一类边界检查缺失问题在Telnet协议实现中长期存在。
⚔️ 攻击链分析
1. 攻击者与目标Telnet服务器建立TCP连接。 2. 攻击者发送特制的IAC SB LINEMODE LM_SLC数据包,包含大量超出固定大小全局数组的三字节元组。 3. 服务器在处理时未进行边界检查,导致缓冲区溢出,覆盖相邻变量。 4. 攻击者利用溢出控制程序执行流,实现远程代码执行。
🚩 失陷指标 (IOC)
网络流量中出现异常的IAC SB LINEMODE LM_SLC数据包(0xFF 0xFA 0x03 <大量三字节元组> 0xFF 0xF0)Telnet服务进程异常崩溃或重启
🛡️ 缓解建议
- ✅ 立即升级GNU inetutils telnetd至最新版本,应用CVE-2026-32746的补丁。
- ✅ 如业务允许,禁用Telnet服务并迁移至SSH等安全协议。
- ✅ 在网络边界部署入侵检测/防御系统(IDS/IPS),监控并拦截异常的IAC SB LINEMODE协商流量。
涉及漏洞:["CVE-2005-0469""CVE-2026-32746""CVE-2026-24061"]
⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。