华硕路由器固件中被检测出一个严重漏洞,该漏洞能够使得未经身份认证的攻击者在路由器中远程执行任意指令,漏洞可能影响到华硕所有版本的路由器固件。 安全研究员Joshua Drake在几个华硕路由器中的固件里发现了一个严重的漏洞,该漏洞能够使得未经身份认证的攻击者在路由器中执行任意指令。根据专家所说,这个安全漏洞可能影响到目前华硕所有版本的路由器固件。Drake在Github上面发布了一份报告,详细描述了该漏洞。受影响的路由器包括RT-AC66U,RT-N66U,以及更多其他的型号。 Drake在报告中分析了该漏洞,发现问题存在于infosvr服务中,该服务用于帮助管理员在一个网段中发现和配置华硕路由器。 “几款华硕的路由器都包含一个称为infosvr的服务,该服务用来监听LAN接口上的UDP广播端口9999。华硕的一个工具使用该服务来自动定位本地子网中的路由器,进而做到简化配置。该服务以root权限运行并且包含一个未经身份验证的远程命令执行漏洞。该服务的源代码以及其他的路由器可以从华硕支持网站得到。”Drake在Github上的报告中描述道。 漏洞分析 专家推断漏洞存在于一块与processPacket函数相关的代码段中,该函数在接收到一个大小为512字节的INFO_PDU_LENGTH数据包之后被调用。 下面的代码块极有可能包含了导致该漏洞的根本原因。 “大概是原先设计的时候并没考虑需要身份认证,所以该代码块首先排除了两个操作码值。然后,调用了memcpy函数并检测返回值是否等于0。这里可以推测原本很可能是想使用函数memcmp来检测MAC地址的有效性。其实,即使是正确使用了memcmp函数,仅仅通过验证MAC地址的有效性也并不足以进行身份认证。”Drake说。 安全建议 Drake建议从受影响的服务中删除远程指令执行功能,以此来保护路由器的安全。 “建议从该服务中删除远程命令执行功能。即使它由强大的认证机制来保护,在整个局域网中广播一个密码也并不合适。如果真的需要远程命令执行功能,那也应该通过SSH或类似的安全机制来传输。”Drake在他的报告中写道。 David Longenecker建议使用一个脚本(JFFS)结合script_usbmount nvram设置在华硕路由器启动完毕时杀死infosvr进程。Eric Sauvageau(@RMerl)提出了另一个宝贵的建议,建议使用防火墙关闭9999端口。 此外,另一种可能的方法是在每次路由器启动完毕时通过杀死该进程来关闭infosvr服务。 CVE将这个华硕路由器固件中的漏洞标号为CVE-2014-9583。 |