随便写写,学习一下
Tel me your name, and I’ll net your root.
今年年初特别顶级的一个CVE:简单,但是破坏力十足,只需要一行简单的Telnet连接代码就能实现登录认证的绕过,进而得到目标机器的root权限
目前已知受影响的组件是GNU inetutils,受影响版本是从1.9.3到2.7,而且根据NVD - CVE-2026-24061来看好像Debian 11.0也受到了影响,目前已经有补丁了:版本2.7-2
万恶起源来自于2015年的一次commit:telnetd: Enable autologin in legacy mode. · fa3245ac8c - inetutils/inetutils - Codeberg.org
我们可以发现改动的不是很多,其中有很多都是一些变量名的更改,但是Changelog里有一段话:
1 | * telnetd/telnetd.c [SOLARIS10] (login_invocation): |
从下面的详细描述我们可以知道%L主要返回的是pty设备的完整路径,而%U是通过USER这个环境变量获取接下来需要进行登陆的用户
而通过RFC 1572 - Telnet Environment Option,我们可以发现用户是可以利用这个RFC实现环境变量传递的,换句话说就是我们对USER这个变量是完全可控的
接下来我们继续看telnetd.c中进行的变更:
1 | /* Template command line for invoking login program. */ |
其中我们只能通过Changelog和更改记录猜测%U就是USER变量的值:
1 | case 'U': |
但是我们需要实际依据,因此跟踪login_invocation,可以在inetutils/telnetd/pty.c看到这个函数:
1 | void |
我们可以看到execv就是命令执行的语句,但是我们不确定expand_line以及相关的函数是否会进行一些sanitize,因此稍微看一下,刚好它们都在inetutils/telnetd/utility.c里面(绝对不是我想凑字数(~﹃~)~zZ)
1 | /* Expand a variable referenced by its short one-symbol name. |
好巧不巧,我们可以看到%U正是最下面一层的函数_var_short_name的内容,同时这也只是解析模板并展开的函数,因此也就证明了%U确实就是我们所想的那样,就是USER的值
由此,我们可以发现这就是最经典的命令注入,比如login文件的目录是/usr/bin/login,那么我们的命令就变成了:
1 | /usr/bin/login -p -h <remote_hostname> <USER> |
我们搜一下login文件的说明:login(1) - Linux manual page,可以发现-f参数可以直接跳过用户认证,因此假如我们传入USER="-f root",telnetd就会直接给登录者一个root的shell
由此,我们可以得到一个非常简单的PoC:
1 | USER="-f root" telnet -a <vuln_ipaddr> |
目前Github上面已经有一个repo包含从Telnet协议层面构建的完整PoC和一个Docker靶机:GitHub - JayGLXR/CVE-2026-24061-POC
本文末尾的参考网址第1条还对环境变量的任意变更进行了研究,最后确认是传入的任意环境变量都会污染telnetd本身以及它所启动的其它组件的环境变量
当然,既然都能远程提权了,那么实际上还可以实现本地提权,差别只有连接的IP地址,所以我基于上面Github repo的Dockerfile自己搓了一个类似的Dockerfile,随便玩了玩(Telnet端口默认23):
1 | FROM ubuntu:20.04 |
感觉实际上可以编一个C binary直接从协议层面发送数据实现提权,这样对靶机内就不刚需telnet或者Python之类的东西了,当然也没细究,毕竟是随便玩玩
参考网址
上面提到的就不再在下面加了
- Root Cause Analysis & PoC Exploit for CVE-2026-24061 | SafeBreach
- CVE-2026-24061 – GNU InetUtils telnetd Authentication Bypass Vulnerability
- 本文作者: 9C±Void
- 本文链接: https://cauliweak9.github.io/2026/02/10/Telnet-CVE-2026/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
我爹
我E神
式神
三极管全能神
Marin