CVE-2017-9841 - PHPUnit 远程代码执行(RCE)
该漏洞影响PHPUnit 4.8.28之前的版本以及所有5.6.3之前的5.x版本。它允许攻击者在暴露了PHPUnit的服务器上执行任意PHP代码。问题存在于PHPUnit的Util/PHP目录下的eval-stdin.php文件中。当此文件可访问时(通常当/vendor文件夹暴露时),攻击者可以发送包含以<?php 开头的PHP代码的恶意HTTP POST请求,以在服务器上执行任意命令。
影响
- 对易受攻击的服务器进行远程代码执行
- 如果PHPUnit暴露,服务器完全被入侵
- 当/vendor目录可公开访问时尤其危险
受影响版本
- PHPUnit 4.x 版本低于 4.8.28
- PHPUnit 5.x 版本低于 5.6.3
解决方案
- 将PHPUnit升级到4.8.28或5.6.3(或更高版本)
- 确保/vendor目录不可公开访问
- 如果无法立即升级,请删除或限制对eval-stdin.php的访问
参考