

台湾资安业者戴夫寇尔针对他们向PHP通报的重大层级漏洞CVE-2024-4577提出警告,并指出所有Windows版本的PHP都存在相关漏洞,即使是运行旧版PHP的网站,管理员也应该进一步确认是否曝险,并采取相关缓解措施
台湾资安业者戴夫寇尔针对PHP编程语言于6月6日修补的漏洞CVE-2024-4577提出警告,此为重大层级的远程代码运行(RCE)漏洞,存在于CGI参数而有可能被用于注入攻击。由于全球有近八成网站采用PHP,这项漏洞的影响范围有可能会非常广泛。
这项漏洞发生的原因,在于此编程语言在设计时,忽略Windows操作系统对于字符编码转换的过程,采取优化对应(Best-Fit)的方式进行。攻击者可在未经身分验证的情况下,借由特定字符串行绕过原本因应PHP-CGI查找字符串参数漏洞CVE-2012-1823的防护措施,而有机会借由参数注入或其他手法,在远程的PHP服务器上运行任意代码。
值得留意的是,研究人员提及这项漏洞影响所有Windows版本的PHP,PHP目前已发布8.3.8、8.2.20、8.1.29版予以修补,但对于已终止支持的8.0版、7.x、5.x版,戴夫寇尔也公布网站管理员检查服务器是否易受攻击的方法,以及暂时的缓解措施。
研究人员以最常搭配Apache HTTP Server的情境提出说明,他们已确认当Windows操作系统运行正体中文、简体中文,或是日文的时候,攻击者就有机会触发上述漏洞,直接在远程服务器运行任意代码。
他们也提及2种可被触发漏洞的情形,其中一种是将PHP设置于CGI模式运行,另一种则是将PHP运行档曝露于CGI文件夹,即使未通过CGI模式运行PHP,也会曝露相关风险。
由于安装Windows版XAMPP的默认组态,也将PHP运行档存放于CGI文件夹,因此他们认为,使用这种套件的Windows主机,也可能受影响。