Security readout for executives and security teams
Plain-English summary
CVE-2017-9841 is a critical remote code execution flaw in old PHPUnit releases. If a production website exposes PHPUnit files under its public vendor directory, an unauthenticated attacker can make the server run PHP code. CISA lists it in KEV, so treat internet exposure as urgent.
Executive priority
Treat this as immediate remediation for internet-facing PHP estates. The issue is old but still business-relevant because CISA KEV confirms real-world exploitation and successful compromise can give attackers server-side code execution.
Technical view
PHPUnit before 4.8.28 and 5.x before 5.6.3 included Util/PHP/eval-stdin.php, which evaluates PHP provided through POST data when reachable over HTTP. The described exposure is a web-accessible /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php path. CWE-94 and CVSS 9.8 reflect unauthenticated network code execution.
Likely exposure
Highest risk is PHP applications that shipped development dependencies to production and expose /vendor under the web root. Composer-based PHP sites, older CMS deployments, and legacy hosting environments should be checked. The source bundle does not identify every downstream product embedding vulnerable PHPUnit.
Exploitation context
Active exploitation is supported by CISA KEV. Public descriptions show attacks against sites with exposed vendor folders. The available sources establish remote unauthenticated code execution conditions, but this analysis does not rely on exploit code or provide operational attack steps.
Researcher notes
Key evidence is consistent: affected PHPUnit version ranges, the eval-stdin.php component, unauthenticated HTTP reachability, CWE-94, CVSS 9.8, and KEV listing. Downstream exposure depends on deployment layout, not only package presence. Avoid assuming impact where PHPUnit is not web-accessible.
Mitigation direction
- Upgrade PHPUnit to 4.8.28, 5.6.3, or a later supported release.
- Remove PHPUnit and other development dependencies from production deployments.
- Ensure /vendor is not directly reachable from the public web root.
- Review vendor guidance for embedded or packaged PHPUnit copies.
- Prioritize internet-facing PHP applications before internal-only systems.
Validation and detection
- Inventory production PHP applications for installed PHPUnit versions.
- Check whether public web roots expose Composer vendor directories.
- Confirm vulnerable eval-stdin.php is absent or unreachable externally.
- Review web logs for requests targeting PHPUnit paths.
- Verify deployed builds exclude development dependencies.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
CWE-94: Code execution behavior lookup
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Open ATT&CK lookupCVE-2017-9841 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
Open ATT&CK lookup- Severity
- Critical
- CVSS
- 9.8 (3.1)
- Known Exploited
- Yes
- Published
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNA and ADP enrichment extracted from CVE v5
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
CISA KEV status
CVSS vector scores
1 official scoreWe collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H3.95.9Primary CVE scoreVulnerability scoring details
Base CVSS 3.1 score
9.8CriticalVector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Source materials
- CVE List V5 sourceCVE List V5
- GLSA-201711-15CVE reference · vendor-advisory, x_refsource_GENTOO
- https://www.oracle.com/security-alerts/cpuoct2021.htmlCVE reference · x_refsource_MISC
- https://github.com/sebastianbergmann/phpunit/commit/284a69fb88a2d0845d23f42974a583d8f59bf5a5CVE reference · x_refsource_MISC
- https://github.com/sebastianbergmann/phpunit/pull/1956CVE reference · x_refsource_MISC
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2017-9841CVE reference · government-resource
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
Improper Control of Generation of Code ('Code Injection')
Improper Control of Generation of Code ('Code Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
