思科的安全情报研究团队 Talos Group 指出,Qualys 日前所揭露的 GHOST 漏洞允许黑客自远端执行任意程序,虽然是个重大漏洞,但并没那么可怕。
该漏洞出现在 GNU C 函式库(glibc)中将主机名称转为 IP 位址的 GetHost 函数,因此被简称为 GHOST。Qualys 在 __nss_hostname_digits_dots () 发现一个缓衝区溢位漏洞,不论是执行 gethostbyname ()或 gethostbyname2()功能都有可能触发该漏洞,允许远端攻击者执行任意程序并掌控系统。
不过,Talos Group 认为此一重大漏洞并没有那么可怕。其中一个原因是这两项功能因未支援 IPv6,所以约在 15 年前就逐渐被淘汰,支援 IPv6 且用来替代上述功能的 getaddrinfo ()并不存在该漏洞。其次是必须要接受以主机名称输入且仍使用 gethostbyname ()或 gethostbyname2()功能的应用程序才可能被攻击。
再者,相关功能限制了可使用的主机名称格式,除了要求主机名称只能由数字与 .(dot)组成之外,也要求主机名称的第一个字元必须是 .,但最后一个字元不能是 .,很少有应用程序接受这种资料格式的输入。
Talos Group 表示,即使这是一个允许远端程序攻击的漏洞,但其限制降低了它的威胁性,黑客必须使用 gethostbyname ()或 gethostbyname2()的其中一项功能,还得符合奇怪的规则,在实际场景最有可能发生的结果是造成记忆体区段错误而非远端程序攻击。
目前 Talos Group 并未发现任何针对该漏洞的攻击报告,但预期在业者把相关漏洞的概念性验证程序加至 Metasploit 渗透工具包之后情况可能就会有所改变。