|
一个简单但非常危险的漏洞被发现,它存在于由台湾盈码(Kcodes)公司编写的NetUSB组件中,将导致世界各地的现代路由器(指搭载类似OpenWRT系统的路由)和其它数以百万计的嵌入式设备存在被黑客入侵的风险。
该漏洞编号为CVE-2015-3036,是一种可远程利用的内核栈缓冲区溢出漏洞。
NetUSB是 一个Linux内核模块,用以支持用户的闪存驱动器、打印机以及其它USB接口设备插入路由,作为一个局域网共享设备访问。目前这一组件被广泛集成在友讯、网件、TP-Link、ZyXEL以及趋势等路由器产品中。
漏洞发现者,SEC Consult旗下安全实验室Vulnerability Lab表示,客户端可以通过NetUSB共享设备的IP地址+20005端口连接上。不过,但客户端名称超过64个字符时,NetUSB服务将产生堆栈缓冲区溢出,并导致内存损坏。
“因为没有足够的输入验证。”研究员在前天表示,“内存损坏还可以变成任意远程执行代码或拒绝服务。”
SEC Consult最开始对某款TP-Link设备进行分析。客户端访问NetUSB共享设备时,会产生一个基于AES加密密匙的验证连接。但这种验证是无效的,因为AES密匙是静态的,可以在NetUSb或电脑上的客户端软件找到。更有趣的是,电脑客户端可以指定电脑名称的长度,当大于64个字符串便产生了堆栈溢出。
更糟糕的是,因为NetUSB在内核模式下运行,在局域网内黑客可以利用该漏洞直接拿下路由器最高权限。
接著SEC Consult发现有26家厂商产品內含了NetUSB组件,在下载友讯、网件、TP-Link、趋势与ZyXEL的固件后,有92个产品含有NetUSB组件,其中不乏一些最近才发布的高端产品。
SEC Consult说,他們在今年2月曾接触盈码科技,还提供了漏洞分析与概念性攻击代码,但却沒有得到正面的回应,使得他们只好直接通知TP-Link与网件,并由US-CERT协助通知其它厂商。迄今众多厂商中只有TP-Link提出了漏洞修复程序与修复计划。
US-CERT建议,用户可暂时关闭系统的分享功能,并留意厂商的固件更新。 |
|