漏洞分析 | PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)
PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)分析
近日,一个影响PHP CGI在Windows平台上的远程代码执行漏洞(CVE-2024-4577)被披露。该漏洞的存在是由于PHP在设计时未能预见到Windows的Best-Fit字符编码转换特性,这使得攻击者可以通过构造特定的请求来绕过安全限制,实现远程代码执行。
影响范围:
该漏洞主要影响在Windows平台上运行且使用了特定语系设置(如简体中文936、繁体中文950和日文932)的PHP CGI环境。具体受影响版本包括PHP 8.3 < 8.3.8、PHP 8.2 < 8.2.20以及PHP 8.1 < 8.1.29。对于其他不再受官方维护的PHP版本,建议根据实际情况升级到安全版本或者关闭php-cgi的使用。
漏洞复现:
攻击者可以通过构造包含特定参数的请求,利用php://input流接收POST请求传入的参数,从而实现远程代码执行。例如,通过访问类似{host}/php-cgi/php-cgi.exe?%ADd+cgi.force_redirect%3d0+%ADd+cgi.redirect_status_env+%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input
的URL,可以触发该漏洞。
漏洞背景:
PHP的SAPI(Server Application Programming Interface)是PHP为了在不同服务器环境中运行而提供的一套应用程序编程接口。其中,PHP-CGI是PHP的一种SAPI实现方式,它既可以作为CGI程序运行,也可以作为FastCGI服务运行。此次漏洞正是发生在PHP-CGI以CGI模式运行时。
修复建议:
针对该漏洞,PHP官方团队已于2024年6月6日发布了新版本进行修复。建议受影响的用户尽快升级到安全版本以避免潜在的安全风险。同时,对于不再受官方维护的PHP版本,用户应考虑升级到受支持的版本或采取其他安全措施来保护其系统免受攻击。
总之,CVE-2024-4577是一个严重的远程代码执行漏洞,可能影响到大量使用PHP CGI的Windows平台用户。为了确保系统安全,用户应密切关注官方发布的安全更新并及时应用修复程序。
评论已关闭