TP-Link TL-R600VPN SOHO路由器曝远程代码执
思科Talo团队于近日警告称,最近由WiFi设备制造商TP-Link 在其TL-R600VPN小型家庭办公室(SOHO)路由器中修复的漏洞可能允许远程代码执行。
漏洞主要是由于缺乏输入清理和解析错误而引入的。其中,缺乏正确的输入清理可以在不经过身份验证的情况下被利用,从而触发拒绝服务条件和服务器信息泄露。
解析错误需要经过身份验证的会话才能被利用,允许在HTTPD上下文中远程执行代码。虽然攻击者需要通过身份验证来利用该漏洞,但由于HTTPD进程以root身份运行,因此代码将以提升的权限执行。
由Talo团队发现的三个漏洞会影响到TP-Link TL-R600VPN HWv3 FRNv1.3.0和TL-R600VPN HWv2 FRNv1.2.3,而第四个漏洞仅在HWv3 FRNv1.3.0中发现。
第一个漏洞被标识为CVE-2018-3948,一个在TL-R600VPN HTTP服务器的URI解析函数中发现了拒绝服务漏洞。
“如果在任何易受攻击的页面上尝试进行目录遍历(help、images、frames、dynaform、localizatio),并且请求的页面是目录而不是文件,那么Web服务器将进入死循环,使管理门户不可用。另外,这个请求不需要进行身份验证。”思科在其报告中写道。
第二个漏洞被标识CVE-2018-3949,一个目录遍历漏洞,会导致HTTP服务器的信息泄露。值得注意的是,该漏洞可以被经过身份验证和未经身份验证的攻击者所利用。对于未经身份验证的利用,攻击者需要使用一个标准目录遍历和“help”页面,允许他们读取系统上的任何文件。
第三个漏洞(CVE-2018-3950)是在TL-R600VPN HTTP服务器的ping和traceroute函数中发现的,并且可能导致远程代码执行。具体来讲,该漏洞是由于路由器在执行ping操作时不会检查传递给它的“ping_addr”字段的数据的大小而引入的。
“通过向该字段发送大量数据,攻击者可能会导致基于堆栈的缓冲区溢出,从而导致远程代码执行或设备HTTP服务器的崩溃。攻击者需要在经过身份验证的会话中触发此漏洞。”思科解释说。
另一个远程代码执行漏洞(CVE-2018-3951)是在TL-R600VPN HTTP服务器的HTTP标头解析函数中发现的。攻击者可以使用特制的HTTP请求来触发缓冲区溢出,然后利用它来执行远程代码。需要指出的是,只有经过身份验证的攻击者才能利用此漏洞。
“在此过程中,服务器计算用户控制的HTTP标头缓冲区的长度,并将值添加到输入缓冲区偏移量。当路由器处理长于预期的GET请求时,就会产生溢出情况。”思科解释说。
目前,TP-Link已经发布了针对这些漏洞的修复补丁,我们建议TL-R600VPN路由器用户应尽快更新自己的设备。