近日,安全研究人员发现了大量Netgear路由器固件中未修补的高危零日漏洞,该漏洞使79种Netgear设备型号有被完全接管root权限的风险,更糟糕的是该漏洞至今尚无补丁程序。
根据两份单独的安全报告,该漏洞是路由器固件中httpd Web服务器存在的内存安全问题,它使攻击者可以绕过Netgear路由器的固件系统进行身份验证。其中一个报告来自越南邮电集团代号“d4rkn3ss”的研究人员,他在零日漏洞平台ZDI上发布了该漏洞。另一个报告来自网络安全公司Grimm安全研究人员Adam Nichols的独立博客(链接在文末)。
多达79种NetGear设备受影响
根据ZDI报告,“httpd服务中存在特定缺陷,默认情况下,该缺陷会侦听TCP端口80”,该报告披露R6700系列Netgear路由器存在该漏洞。“这个问题是由于在将用户提供的数据复制到固定长度的堆栈缓冲区之前,没有对数据长度进行验证。”
该报告称,利用该漏洞不需要身份验证,攻击者可以利用该漏洞获得root特权。
ZDI说,它在一月份就通知Netgear该漏洞,但是Netgear至今仍未能向受影响的设备提供补丁。NetGear曾要求将延期至6月底进行漏洞公开披露,但ZDI拒绝了。
漏洞的发现者之一Nichols透露,最初是在Netgear R7000路由器系列中发现了该漏洞,但最终找到了79种不同的Netgear设备和758个固件映像,其中包括易受攻击的Web服务器副本,受影响的产品固件最早可追溯至2007年(WGT624v4, version 2.0.6)。
通常,SOHO设备固件中的Web服务器通常是系统中最易受攻击的环节,因为它们“必须解析来自网络的用户输入,并运行复杂的CGI功能来处理这些输入”。
Nichols说:
此外,Web服务器是用C编写的,几乎没有像样的安全测试,因此经常容易受到哪怕是很小的内存损坏错误的影响。
漏洞利用与缓解
Nichols在他的帖子中解释说,目前可以通过两种方式利用零日漏洞。一种方法是通过一系列步骤利用Web服务器中HTTP解析器中使用的recv函数,这些步骤最终导致堆栈缓冲区溢出。
他解释说,攻击者还可以使用跨站点请求伪造(CSRF)攻击来利用此漏洞,不过攻击者需要知道他们针对的路由器的型号和版本才能达成目的。
根据ZDI报告,当前唯一的缓解措施是只允许受信任的计算机与服务交互。
报告说:
只有与服务具有合法程序关系的客户端和服务器才应被允许与之通信。这可以通过多种方式来完成,最常见的是使用防火墙规则/白名单。
今年早些时候NetGear路由器产品曾经曝光过一批漏洞。3月,Netgear修复了一个严重的远程执行代码错误,该错误可使未经身份验证的攻击者控制运行固件版本为1.0.2.68之前的无线AC路由器Nighthawk(R7800)硬件。NetGear还修补了两个影响Nighthawk路由器的高严重度漏洞,21个中度严重漏洞和一个低级漏洞。
参考资料
Adam Nichols的独立博客:
https://blog.grimm-co.com/2020/06/soho-device-exploitation.html