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 ![CVE](https://img.shields.io/badge/CVE-2026--28372-critical-red) ![Platform](https://img.shields.io/badge/platform-linux-blue) ![Exploit](https://img.shields.io/badge/exploit-local--privilege--escalation-orange) ![Language](https://img.shields.io/badge/python-3.x-yellow) ![Status](https://img.shields.io/badge/status-POC-success) ![Author](https://img.shields.io/badge/author-Mohammed%20Idrees%20Banyamer-green) ![License](https://img.shields.io/badge/license-Research-lightgrey) ## 👤 作者 **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报告查看器, 协议分析, 无后门, 暴力破解, 本地提权, 权限提升, 环境变量注入, 登录绕过, 绕过认证, 网络安全, 隐私保护