有4个TCP/IP堆栈含有9个安全漏洞

IoT安全企业Forescout与JSOF Research本周共同披露了4个TCP/IP堆栈的9个安全漏洞,这些漏洞关乎域名服务器(DNS)的实例,可能带来服务阻断或远程执行程序的风险,允许黑客让设备下线或接管设备,这4个TCP/IP堆栈为FreeBSD、Nucleus NET、IPnet与NetX,估计至少有1亿台设备受到影响。

TCP/IP堆栈为小型的函数库,通常被设备制造商嵌入固件中,以支持设备的网络连接或其它网络功能,此次的研究主要分析这些函数库如何处理DNS流量,而非着眼于TCP或IP通信。

在研究人员所发现的9个漏洞中,尤以Nucleus NET内置6个安全漏洞为最,它们分别是CVE-2020-15795、CVE-2020-27009、CVE-2020- 27736、CVE-2020-27737、CVE-2020-27738与CVE-2021-25677,涉及到域名标签解析、消息压缩、VDomain名称标签解析与标志字段等功能,将允许黑客执行远程程序攻击、服务阻断或DNS缓存下毒。

FreeBSD的漏洞则是出现在实现DNS消息压缩功能时,该编号为CVE-2020-7461的安全漏洞将允许远程程序攻击。而最危险的CVE-2016-20009漏洞则出现在IPnet中,同样与DNS消息压缩功能有关,它是个可造成远程程序攻击的堆积溢出漏洞,其CVSS v3.1风险指数高达9.8。

另有一个未被赋给编号的漏洞出现在NetX中,也涉及到DNS协议的消息压缩功能,可能导致服务阻断攻击。

在这9个安全漏洞中,就有5个与消息压缩功能有关。由于DNS服务器的回应经常包含许多域名名称,有时候会有重复的网名,于是创建了该功能,来删除同样的网名,以减少回应的文件大小。

研究人员估计,采用这4个TCP/IP堆栈的设备至少有100亿个,假设仅有1%采用了含有漏洞的版本,那么也还有1亿个设备含有安全风险,且受害最严重的为政府与健康看护组织。

目前包括Nucleus NET、FreeBSD与NetX都已修补了漏洞,唯有IPNet尚未修补。

不过,就算是这些TCP/IP堆栈都已完成更新,设备的风险可能依然存在,因为堆栈修补完之后,设备制造商也必须发布新固件,接着再由用户更新设备上的固件,才算完成修补程序。但每个环节都有许多不确定因素,有些组织可能缺乏修补的人力资源或知识,有些设备的所有者甚至不知道自己所使用的服务器、智能设备或工业设备,采用了含有漏洞的TCP/ IP堆栈。

并非所有由Forescout与JSOF Research所分析的TCP/IP堆栈都含有漏洞,例如FNET、cycloneTCP、uC/TCP-IP、FreeRTOS TCP、Zephyr、OpenThread、Nut/Net与lwIP,便在此次的研究中全身而退。