据 ZDNet 的报道,PHP 7.x 中最近修复的一个远程代码执行漏洞正被恶意利用,并会导致攻击者控制服务器。编号为 CVE-2019-11043 的漏洞允许攻击者通过向目标服务器发送特制的 URL,即可在存在漏洞的服务器上执行命令。漏洞利用的 PoC 代码也已在 GitHub 上发布。
一旦确定了易受攻击的目标,攻击者便可以通过在 URL 中附加 ‘?a=’ 以发送特制请求到易受攻击的 Web 服务器。
仅 NGINX 服务器受影响
幸运的是,并非所有的 PHP Web 服务器都受到影响。据介绍,仅启用了 PHP-FPM 的 NGINX 服务器容易受到攻击。PHP-FPM 代表 FastCGI Process Manager,是具有某些附加功能的 PHP FastCGI 替代实现。它不是 nginx 的标准组件,但部分 Web 托管商仍会将其作为标准 PHP 托管环境的一部分。
Web 托管商 Nextcloud 就是其中一个例子,该公司于10月24日向其客户发出安全警告,督促客户将 PHP 更新至最新版本 7.3.11 和 7.2.24,其中包含针对 CVE-2019-11043 漏洞的修复程序。另外,许多其他虚拟主机供应商也被怀疑正在运行易受攻击的 nginx + PHP-FPM 组合。
但是也有一些网站由于技术限制而无法更新 PHP,或无法从 PHP-FPM 切换到另一个 CGI 处理器。
修复建议
- 将 PHP 7.1.X 更新至 7.1.33 https://github.com/php/php-src/releases/tag/php-7.1.33
- 将 PHP 7.2.X 更新至 7.2.24 https://github.com/php/php-src/releases/tag/php-7.2.24
- 将 PHP 7.3.X 更新至 7.3.11 https://github.com/php/php-src/releases/tag/php-7.3.11
关于漏洞的详细分析可查看 https://paper.seebug.org/1063/。