mbanyamer/CVE-2026-28372-GNU-inetutils-telnetd-Privilege-Escalation
GitHub: mbanyamer/CVE-2026-28372-GNU-inetutils-telnetd-Privilege-Escalation
GNU inetutils telnetd 本地权限提升漏洞的概念验证工具,通过注入 CREDENTIALS_DIRECTORY 环境变量并配合 login.noauth 配置文件绕过身份验证,实现无需密码获取 root 权限。
Stars: 0 | Forks: 0
# CVE-2026-28372 — GNU inetutils telnetd 权限提升 PoC







## 👤 作者
**Mohammed Idrees Banyamer**
Jordan 🇯🇴
Instagram: @banyamer_security
Security Researcher | Offensive Security | Exploit Development
## 🧨 漏洞标题
**CVE‑2026‑28372 — GNU inetutils telnetd 通过 CREDENTIALS_DIRECTORY + login.noauth 实现权限提升**
## 📌 概述
本概念验证演示了 GNU inetutils `telnetd` 中的一个**本地权限提升**漏洞。
`telnetd` 不当地将客户端控制的环境变量传递给 `login(1)`。
通过设置:
```
CREDENTIALS_DIRECTORY=
```
并放置:
```
login.noauth = yes
```
身份验证将被绕过,可能导致**无需密码获取 root shell**。
## ⚠️ 漏洞详情
- **CVE:** CVE-2026-28372
- **受影响软件:** GNU inetutils telnetd ≤ 2.7
- **条件:** util-linux 版本支持 `login.noauth`
- **攻击类型:** 本地权限提升
- **CVSS:** 7.4 HIGH
- **CWE:** CWE‑829
## 🎯 受影响系统
- 运行以下组件的 Linux 系统:
- inetutils‑telnetd ≤ 2.7
- util-linux ≥ ~2.40
- Ubuntu / Debian 衍生版(已测试)
## 🔬 漏洞利用机制
### 根本原因
`telnetd → login(1)` 环境变量信任问题。
### 攻击链
1. 攻击者创建受控目录
2. 放置值为 `yes` 的 `login.noauth` 文件
3. 通过 Telnet NEW‑ENVIRON 选项注入环境变量
4. `login` 读取攻击者控制的凭据目录
5. 绕过身份验证 → root shell
## 🧭 PoC 流程图
```
flowchart TD
A[Unprivileged User] --> B[Create fake credentials directory]
B --> C[Place login.noauth = yes]
C --> D[Connect to telnetd]
D --> E[Inject ENV variables]
E --> F[Set CREDENTIALS_DIRECTORY]
F --> G[telnetd calls login]
G --> H[login reads login.noauth]
H --> I[Authentication bypass]
I --> J[Root shell obtained]
```
## ▶️ 用法
### 环境要求
* Python 3
* 运行中的 telnetd 服务
* 本地访问权限
### 运行 PoC
```
python3 cve-2026-28372.py
```
可选参数:
```
python3 cve-2026-28372.py --host 127.0.0.1 --port 23 --user root
```
## 🧪 自动执行的漏洞利用步骤
✔ 创建攻击者控制的凭据目录
✔ 生成 `login.noauth` 绕过文件
✔ 连接到 telnetd
✔ 注入恶意环境变量
✔ 尝试绕过身份验证
## 🛡️ 缓解措施
### 立即修复
* 应用 inetutils 2.7 之后的补丁
* 过滤环境变量
* 取消设置危险变量:
```
unsetenv("CREDENTIALS_DIRECTORY")
```
### 建议
* 禁用 telnet 服务
* 改用 SSH
* 限制本地服务
* 监控环境变量注入
## 📚 技术说明
* 需要本地文件写入权限
* telnetd 必须生成 `/bin/login` 或 `/usr/bin/login`
* 实际利用取决于服务暴露情况
## ⚖️ 免责声明
本 PoC 仅供以下用途:
* 安全研究
* 防御目的
* 仅限授权测试环境
禁止未经授权的使用。
## ⭐ 致谢
发现与研究:
**Mohammed Idrees Banyamer**
banyamer_security
标签:CSV导出, CVE-2026-28372, CWE-829, Exploit Development, GNU inetutils, inetutils-telnetd, PoC, Python, Root Shell, telnetd, util-linux, Web报告查看器, 协议分析, 无后门, 暴力破解, 本地提权, 权限提升, 环境变量注入, 登录绕过, 绕过认证, 网络安全, 隐私保护