harygovind/CVE-2026-24061

GitHub: harygovind/CVE-2026-24061

该项目是 GNU InetUtils telnetd 参数注入漏洞(CVE-2026-24061)的概念验证代码,用于复现和验证通过 NEW_ENVIRON 协议注入 login 标志以绕过身份验证的安全缺陷。

Stars: 0 | Forks: 0

# CVE-2026-24061:GNU InetUtils `telnetd` 参数注入 ## 概述 GNU InetUtils Telnet 守护进程 (`telnetd`) 存在参数注入漏洞。在 `NEW_ENVIRON` 协商期间,由于对客户端提供的环境变量清理不足,攻击者可以将命令行标志注入到本地 login 过程中,从而可能导致身份验证绕过。 ## 严重程度 - **类型:** 参数注入 / 身份验证绕过 - **攻击向量:** 网络 - **所需权限:** 无 - **受影响组件:** `telnetd` → `/usr/bin/login` ## 受影响版本 GNU InetUtils `telnetd` **1.9.3 – 2.7**(未修复版本)。 ## 漏洞机制 在会话协商期间,`telnetd` 会响应 `NEW_ENVIRON` Telnet 选项,该选项允许客户端将 `USER` 等环境变量传递给服务器。然后,守护进程将此值直接插入到用于调用 `/usr/bin/login` 的参数列表中。 由于没有验证该值是否仅包含合法的用户名字符,客户端可以提供一个以连字符 (`-`) 开头的字符串。它不会被当做用户名,而是被 `login` 解析为命令行标志。根据 `login` 的具体实现,这可能会启用某些行为,例如跳过密码身份验证(例如,通过 `-f` “已认证”标志),从而导致未经授权的访问。 ## 检测 **检查已安装的软件包版本:** Debian / Ubuntu: ``` dpkg -l | grep inetutils-telnetd ``` RHEL / CentOS: ``` rpm -qa | grep inetutils ``` **确认可利用性:** 针对非生产/测试实例尝试上述 PoC,并检查是否在无需密码提示的情况下授予了经过身份验证的会话。 ## 修复建议 - **升级**到已修复的 GNU InetUtils 版本,该版本中的 `telnetd` 会拒绝或去除任何以 `-` 开头的 `USER` 值,然后再将其传递给 `login`。 - 尽可能完全**禁用 Telnet** 并改用 SSH——无论此问题如何,Telnet 始终以明文形式传输凭据和数据。 - 如果必须继续使用 Telnet,请通过防火墙规则 / VPN 限制访问,并监控身份验证日志中是否存在异常的 login 标志使用情况。 ## 参考资料 - GNU InetUtils 源代码仓库 - CVE-2026-24061 安全公告
标签:CISA项目, Cutter, PoC, Telnet, 参数注入, 暴力破解, 认证绕过