多项合勤防火墙、NAS产品爆指令注入漏洞可执行任意程序代码

台湾网通厂商合勤(Zyxel)20多款NAS及网络防火墙、VPN设备,遭安全研究人员发现固件存在验证前指令注入(pre-authentication command injection)的高风险漏洞,可能给黑客远程访问执行任意程序代码的机会。

编号CVE-2020-9054的漏洞,是由安全厂商Hold Security研究人员Alex Holden发现,它出现在合勤产品固件中用于网页验证的Weblogin.cgi组件中,属于“通用缺陷列表”(Common Weakness Enumeration,CWE)编号78的OS指令特殊元素的不其中和(Improper Neutralization of Special Elements used in an OS Command)。

卡内基梅隆大学计算机紧急回应小组(Computer Emergent Response Team, CERT)协助中心(CERT-CC)研究人员解释,多项合勤产品是利用weblogin.cgi来完成验证。但该程序却未能适当检验输入字符串的username参数。因此如果这个参数包含了特定字符的话可能遭注入指令,并利用网页服务器权限在合勤设备上执行。

虽然网页服务器并未具备根用户权限,但许多合勤设备上支持setuid,让任何指令都能以根用户或管理员权限执行。远程攻击者可发送改造的HTTP POST或GET调用,即可在合勤设备上以根权限执行恶意程序代码。用户只要被诱使连上恶意网站就可能被注入后门程序或劫持。该漏洞CVSS v3.0风险评分为最高的10分。

网络上已经有可开采本项漏洞的程序代码,CERT-CC并制作了概念验证程序证明攻击的可能性。

合勤网站列出20多款受影响的NAS、防火墙及VPN设备,同时也发布更新版固件以修补漏洞。

但是若合勤已不支持的产品机型,就无法安装更新版固件。此外,CERT-CC也提醒,由于这些固件是经由较不安全的FTP提供,而且只以checksum而非加密签章验证,因此有可能让黑客控制的DNS拦截,而导致用户下载不安全的固件。

对于尚未能或无法更新固件的产品用户,CERT-CC建议不要让设备直接连向互联网,或关闭80/TCP及443/TCP传输端口。