TP-Link Archer C5400X 上的任意命令执行

admin 2024年6月6日08:42:29评论25 views字数 2071阅读6分54秒阅读模式

介绍

TP-Link Archer C5400X 上的任意命令执行

在发布二进制零日漏洞识别功能之前,我们已在固件语料库上对其进行了测试和验证,以确保我们能够提供有意义的分析结果。在此过程中,我们发现了许多漏洞,并已向供应商报告。在 2024 年期间,我们希望将大多数漏洞公开,例如在Cisco WAP321中发现的漏洞。在这篇博文中,我们将继续介绍另一款接入点设备:TP-Link Archer C5400X 三频游戏路由器

自动分析完成后,我们快速手动检查结果以确认调查结果,我们发现一个命令注入、一个 shell 中的格式字符串以及一些影响 rftest 和 libshared 的缓冲区溢出。

TP-Link Archer C5400X 上的任意命令执行

格式字符串只能在特定情况下被利用,因此在这篇博文中,我们将重点介绍rftest二进制文件。rftest顾名思义,它与射频测试有关,用于帮助接入点进行无线接口自我评估。为此,它在 TCP 端口 8888、8889 和 8890 上公开了一个网络侦听器。此侦听器容易受到命令注入和缓冲区溢出的攻击。

远程命令执行

受影响的供应商和产品 TP-Link Archer C5400X
供应商咨询 Archer C5400X(EU)_V1_1.1.7 Build 20240510
https://www.tp-link.com/en/support/download/archer-c5400x/#Firmware
存在漏洞的版本 <= 1_1.1.6
修复版本 1_1.1.7
CVE 编号 CVE-2024-5035
影响 (CVSS) CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
信用 Q. Kaiser,ONEKEY 研究实验室由Certainity
支持的研究

概括

受影响的设备rftest在其初始化序列期间启动一个名为的二进制文件。此二进制文件暴露了易受未经身份验证的命令注入攻击的网络服务。

影响

通过成功利用此漏洞,位于 LAN 上的未经身份验证的攻击者可以以提升的权限在设备上执行任意命令。

TP-Link 表示:“经过彻底的内部源代码分析(包括对函数调用路径的深入审查),TP-Link 已确定 CVE-2024-5035 更像是一个源代码漏洞,而不是具有特定杀伤链的可用 LAN 漏洞。因此,CVE-2024-5035 的披露不会增加日常使用中的信息安全风险。 ”

描述

我们的二进制静态分析管道发现了命令注入。用户控制的源是对监听端口 8888 的 TCP 套接字上的 read() 的调用:

TP-Link Archer C5400X 上的任意命令执行

该源被传播多次,最终以两个不同的 popen() 调用结束,其中一个调用是如果接收到的字节包含“wl”,另一个调用是如果接收到的字节以“nvram”开头并包含“get”,如下图所示:

TP-Link Archer C5400X 上的任意命令执行

二进制rftest文件在启动时按照以下顺序启动:

  1. 执行init/etc/init.d/wireless脚本。此脚本执行命令 /sbin/wifi init 。

  2. wifi脚本导入文件并从该文件/lib/wifi/tplink_brcm.sh执行该功能。wifi_init

  3. 其中/lib/wifi/tplink_brcm.sh,发生以下函数调用树wifi_init-> wifi_start-> wifi_start_calibrate-> wifi_start_rftest->rftest

  4. rftest 函数/lib/wifi/tplink_brcm.sh启动/usr/sbin/rftest

TP-Link Archer C5400X 上的任意命令执行

执行时,二进制文件在端口 8888 上启动 TCP 服务器。网络服务接受来自客户端的命令,将命令限制为以wl或开头的命令nvram get

但是,要将其变成命令注入,只需在 shell 元字符(如 ; 、 & 或 | )后注入命令即可轻松绕过此限制:
正如我们在下面的输出中看到的那样,我们连接到端口 8888 上的服务并注入命令 id:

TP-Link Archer C5400X 上的任意命令执行

TP-Link 通过丢弃任何包含 shell 元字符的命令进行了修复,如下所示:

TP-Link Archer C5400X 上的任意命令执行

推荐

我们建议您使用 C5400X 的升级功能升级到版本 1_1.1.7。

关键要点

TP-Link 似乎必须快速或廉价地满足提供无线设备配置 API 的需求,最终导致他们在网络上暴露了一个据称有限的 shell,路由器内的客户端可以使用该 shell 来配置无线设备。由于这个“API”的细节被抽象出来,它确实由于不安全的编码做法而远程暴露了一个 shell,这一事实在审查过程中被忽略了。

因此,此通报进一步证明了对最终编译版本的固件进行自动二进制静态分析的重要性,以发现影响产品开发团队可能甚至不知道的组件的漏洞。在这种情况下,在高端游戏路由器上暴露了通过 LAN 进行的远程未经身份验证的根访问。

时间线

  • 2024-02-16  – 通过加密电子邮件向 TP-Link PSIRT 提交报告。

  • 2024-02-19  –TP-Link PSIRT 开启案件。

  • 2024-04-10  –TP-Link 分享 1.1.7p1 测试版以供验证。

  • 2024-04-17  – 补丁已由 ONEKEY 确认。

  • 2024-05-27  – 与 TP-Link 协作发布 ONEKEY 公告


原文始发于微信公众号(河南等级保护测评):安全公告:TP-Link Archer C5400X 上的任意命令执行

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月6日08:42:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   TP-Link Archer C5400X 上的任意命令执行https://cn-sec.com/archives/2820632.html

发表评论

匿名网友 填写信息