首页 网络安全 正文
  • 本文约1427字,阅读需7分钟
  • 7
  • 0

GNU InetUtils telnetd远程认证绕过CVE-2026-24061

摘要

栋科技漏洞库关注到 GNU InetUtils telnetd 受影响版本中存在远程认证绕过漏洞,追踪为CVE-2026-24061,漏洞CVSS 3.X评分9.6。

GNU InetUtils telnetd是GNU InetUtils(GNU 网络基础工具集)核心组件之一,包含 ftp、ping、traceroute、rlogin 等经典网络工具。

一、基本情况

GNU InetUtils telnetd是GNU InetUtils 工具集的telnet 服务器端程序,是类 Unix 系统经典远程终端访问服务实现,监听 TCP 23 端口。

GNU InetUtils telnetd 核心作用是监听并响应 telnet 客户端的连接请求,该工具能为用户提供基于 Telnet 协议的远程命令行访问能力。

GNU InetUtils telnetd远程认证绕过CVE-2026-24061

该程序作为 Telnet 协议服务器端实现,接收 telnet 客户端的连接,验证用户身份后为其分配远程 shell 会话,支持跨网络的命令行交互。

栋科技漏洞库关注到 GNU InetUtils telnetd 受影响版本中存在远程认证绕过漏洞,追踪为CVE-2026-24061,漏洞CVSS 3.X评分9.6。

二、漏洞分析

CVE-2026-24061漏洞是GNU InetUtils telnetd 是位于 GNU InetUtils 套件中的远程登录服务守护进程中存在的一个远程认证绕过漏洞。

该漏洞允许远程攻击者绕过 telnetd 的身份验证机制,直接获取root权限,可导致服务器失陷,具体来说,

telnetd 中的远程身份验证绕过 telnetd 服务器调用 /usr/bin/login(通常以 root 身份运行) ,

从而传递从接收到的USER环境变量的值 将客户端作为最后一个参数。

如果客户端提供一个精心构造的USER环境值 being 字符串 "-f root",并且传递了 telnet(1) -a--login 参数,

为了将此USER环境发送到服务器,客户端将 自动以根用户身份登录,绕过正常身份验证 进程。

这是因为telnetd服务器没有清理用户输入,环境变量在传递给login(1)之前,和login(1) 使用 -f 参数来绕过正常身份验证。

易受攻击的版本:GNU InetUtils 从 1.9.3 版本开始,直到 包括版本2.7。

三、POC概念验证

1、在 Trisquel GNU/Linux 11 aramo 笔记本电脑上:

管理员已设置登录后刷新可查看

2、历史分析

该错误在2015年3月19日的以下提交中引入的,它包含在2015年5月12日发布的v1.9.3版本中。

3、修复建议

不要运行telnetd服务器。限制网络访问到 将 Telnet 端口信任的客户端。

应用补丁或升级到包含该内容的较新版本补丁。

4、解决方案

(1)禁用telnetd服务器或让InetUtils的telnetd使用自定义配置

(2)不允许使用'-f'参数的login(1)工具。

5、进一步研究

(1)调用 login(1) 的模板位于 telnetd/telnetd.c 文件中:

管理员已设置登录后刷新可查看

(2)变量扩展发生在telnetd/utility.c文件中:

管理员已设置登录后刷新可查看

因此,其他系统也可能存在类似的漏洞变量。

在非GNU/Linux系统上,只有远程主机名字段是必需的兴趣。

`remote_hostname`变量是在函数中填充的通过调用getnameinfo()函数,从telnetd/telnetd.c文件中获取`telnetd_setup`

据平台不同,使用gethostbyaddr()函数。

此API通常不被认为会返回可信数据,因此依赖它不会返回像“foo -f root”这样的值是不推荐的。

四、影响范围

1.9.3 <= GNU InetUtils telnetd <= 2.7

五、修复建议

1. 将 GNU InetUtils telnetd 升级到 2.7 以上版本

2. 建议使用 ssh 代替 telnetd

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接