CVE-2017-9841
PHPUnit Command Injection Vulnerability
PHPUnit PHPUnit
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP code via HTTP POST data beginning with a "<?php " substring, as demonstrated by an attack on a site with an exposed /vendor folder, i.e., external access to the /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php URI.
Exploitation status
CISA Known Exploited Vulnerabilities
Listed by CISA on 15 February 2022. US federal agencies were required to remediate it by 15 August 2022.
EPSS — exploitation probability
FIRST puts the probability of exploitation activity in the next 30 days at 100%, which is higher than 99.9% of all scored vulnerabilities. EPSS is a forecast of activity, not a measure of severity, and it is rescored daily.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Frequently asked questions
Is CVE-2017-9841 being exploited by ransomware groups?
No ransomware group in this database is currently recorded as exploiting CVE-2017-9841.
What does CVE-2017-9841 affect?
CVE-2017-9841 affects PHPUnit PHPUnit. Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP code via HTTP POST data beginning with a "<?php " substring, as demonstrated by an attack on a site with an exposed /vendor folder, i.e., external access to the /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php URI.
How severe is CVE-2017-9841?
CVE-2017-9841 is rated CRITICAL with a CVSS base score of 9.8. EPSS puts the probability of exploitation in the next 30 days at 100%, higher than 99.9% of all scored vulnerabilities. It is listed in the CISA Known Exploited Vulnerabilities catalog, with a federal remediation deadline of 15 August 2022.
How should organisations respond to CVE-2017-9841?
Apply the vendor patch for PHPUnit PHPUnit as the first priority, and treat any internet-facing instance as the most urgent. Because this vulnerability is associated with ransomware activity, also review whether the affected systems were reachable before patching, rather than assuming that patching alone closes the incident.