安全研究员Joward发布了针对影响TP-Link TL-WR940N路由器的关键漏洞(追踪为CVE-2024-54887)的深入分析和概念验证(PoC)漏洞。 该漏洞是在设备处理 IPv6 DNS 服务器配置参数时发现的缓冲区溢出漏洞,可能允许攻击者执行任意代码或引发拒绝服务攻击。
Joward 的研究发现,路由器 Web 界面中的两个参数–dnsserver1 和 dnsserver2–在将字符串长度复制到内存之前未能进行验证。 Joward 解释说:“经初步观察,我们似乎发现了一个堆栈缓冲区溢出漏洞。” 这个问题影响到运行最新固件的 TL-WR940N 路由器的硬件版本 3 和 4,并已在后续硬件迭代中得到缓解。
对该设备固件的静态分析发现了几个关键缺陷,包括缺乏 NX 和 PIE 保护等现代缓解措施。 这些缺陷大大方便了研究人员和潜在的攻击者利用漏洞。
来源:Joward
PoC 演示了一种利用漏洞的复杂方法,利用面向返回编程 (ROP) 技术实现远程代码执行。 从识别不安全的函数调用到构建功能性漏洞利用,Joward 细致地详述了整个过程:
- 静态和动态分析: 分析从使用 Firmadyne 和 Ghidra 等工具解包和仿真路由器固件开始。 Joward 指出:“dnsserver1 和 dnsserver2 参数允许用户选择路由器默认使用的 IPv6 DNS 服务器,而这两个参数在复制到内存之前似乎都没有进行长度检查。”
- ROP 漏洞开发: 一系列精心制作的小工具为 shellcode 的执行提供了便利。 “为 MIPS Linux 编写 ROP 漏洞利用程序有一些 x86 漏洞利用程序所没有的独特考虑因素,它不像硬编码跳转到堆栈上的某个位置那么简单。 这些问题主要有:高速缓存不连贯和延迟指令。” Joward 解释说。
- 自定义外壳代码: 为了简单起见,该漏洞利用了绑定外壳,允许他人复制攻击,而无需修改 IP 地址。 这种 shellcode 可以完全控制被攻击的设备。
CVE-2024-54887 给依赖过时硬件的用户带来了严重风险。 由于受影响的设备没有实施地址空间布局随机化(ASLR),该漏洞可以可靠地实现远程代码执行。 Joward 强调了该漏洞的严重性: “我们不仅可以让程序崩溃,还可能控制执行流程。”
不幸的是,TL-WR940N 的硬件版本 3 和 4 已达到生命周期末期支持,不再接受安全更新。 TP-Link 在披露过程中确认了这一点,并鼓励用户升级到更新的设备,以确保持续的保护。
有兴趣了解技术细节的用户,可在 GitHub 上查看 PoC 和其他资源。
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容