CVE-2017-9841

CRITICALNVD 9.89.8
EchelonGraph scoreHIGH confidence

Score elevated to 9.8 because this CVE is listed on the CISA Known Exploited Vulnerabilities catalog (added 2022-02-15), indicating real-world exploitation has been confirmed by US federal agencies. NVD baseline CVSS 9.8 retained for reference. Confidence: HIGH.

Triggered by: CISA KEV (actively exploited)
Sources: cisa_kev, epss, nvd
Exploited in the wild
9.8EG
EchelonGraph verdictPatch nowTreat as an emergency — this is being exploited.
  • Actively exploited in the wild (CISA-KEV)
CISA-KEV: ExploitedEPSS PROB: 100%CVSS: 9.8Exploit: cisa kev · ssvc active · epss top5pct · epss high · public exploitExposed: 0

A fix is available — apply it.

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 "

CVSS v3
9.8
EG Score
9.8(high)
EG Risk
99(Act)
EG Risk 99/100SSVC: Act

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity98% × 45%
Exploitation100% × 40%
Automatability100% × 15%
Action: Fix now — active exploitation, automatable, high impact.
EPSS PROB
100%
EPSS %ILE
100%
KEV
⚠ Exploited

Published

June 27, 2017

Last Modified

June 17, 2026

Advisory Details (6)

Auto-updated Aug 24, 2026
⚠️ Active exploitation confirmed. Patch available. Sources: github_commit, github_pr.
generic🔴 Active Exploitation

CVE-2017-9841 - PSIRT.COM

http://www.securityfocus.com/bid/101798
generic

CVE-2017-9841 RCE vulnerability in phpunit

http://web.archive.org/web/20170701212357/http://phpunit.vulnbusters.com/
generic

PHPUnit: Remote code execution (GLSA 201711-15) — Gentoo security

https://security.gentoo.org/glsa/201711-15
github_pr

Fix insulated tests with phpdbg

Fix merged in sebastianbergmann/phpunit PR #1956 on 2015-11-17 — awaiting tagged release

https://github.com/sebastianbergmann/phpunit/pull/1956
github_commit Patch Available

commit 284a69fb88a2 (sebastianbergmann/phpunit)

Patch available: sebastianbergmann/phpunit 12.5.25 (contains commit 284a69fb88a2)

https://github.com/sebastianbergmann/phpunit/commit/284a69fb88a2d0845d23f42974a583d8f59bf5a5

Patch Availability(1)

Vendor / EcosystemFixed in / PatchReleasedSource
ubuntuphpunit (5.1.3-1+ubuntu3+esm1) @ xenial2026-08-29ubuntu

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(5 across 5 ecosystems)
Debian:11(1)
PackageVulnerable rangeFixed inDependents
phpunit5.4.6-2
Debian:12(1)
PackageVulnerable rangeFixed inDependents
phpunit5.4.6-2
Debian:13(1)
PackageVulnerable rangeFixed inDependents
phpunit5.4.6-2
Debian:14(1)
PackageVulnerable rangeFixed inDependents
phpunit5.4.6-2
Packagist(1)
PackageVulnerable rangeFixed inDependents
phpunit/phpunit5.0.10 ... 5.6.2 (48 versions)5.6.3

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

All Vendor Advisories

(1)

Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.

Data Freshness Timeline

(refreshed 38× in last 7d / 174× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 494 total refreshes for this CVE.

  1. 2026-08-29 08:10 UTCVendor advisory
  2. 2026-08-29 00:27 UTCVendor advisory
  3. 2026-08-28 01:15 UTCVendor advisory
  4. 2026-08-27 21:24 UTCVendor advisory
  5. 2026-08-27 17:22 UTCCISA KEV update
  6. 2026-08-27 13:44 UTCVendor advisory
  7. 2026-08-27 09:55 UTCVendor advisory
  8. 2026-08-27 02:07 UTCVendor advisory
  9. 2026-08-26 18:26 UTCVendor advisory
  10. 2026-08-26 17:41 UTCCISA KEV update
  11. 2026-08-26 14:37 UTCVendor advisory
  12. 2026-08-26 10:46 UTCVendor advisory
  13. 2026-08-26 06:57 UTCVendor advisory
  14. 2026-08-26 03:07 UTCVendor advisory
  15. 2026-08-25 23:16 UTCVendor advisory
  16. 2026-08-25 19:26 UTCVendor advisory
  17. 2026-08-25 15:36 UTCVendor advisory
  18. 2026-08-25 11:46 UTCVendor advisory
  19. 2026-08-25 07:56 UTCVendor advisory
  20. 2026-08-25 04:06 UTCVendor advisory
  21. 2026-08-25 00:17 UTCVendor advisory
  22. 2026-08-24 20:27 UTCVendor advisory
  23. 2026-08-24 18:52 UTCCISA KEV update
  24. 2026-08-24 16:38 UTCVendor advisory
  25. 2026-08-24 12:47 UTCVendor advisory
Show 75 more
  1. 2026-08-24 08:57 UTCVendor advisory
  2. 2026-08-24 05:07 UTCVendor advisory
  3. 2026-08-24 01:18 UTCVendor advisory
  4. 2026-08-23 21:28 UTCVendor advisory
  5. 2026-08-23 17:38 UTCVendor advisory
  6. 2026-08-23 13:49 UTCVendor advisory
  7. 2026-08-23 09:59 UTCVendor advisory
  8. 2026-08-23 06:10 UTCVendor advisory
  9. 2026-08-23 02:20 UTCVendor advisory
  10. 2026-08-22 22:31 UTCVendor advisory
  11. 2026-08-22 18:41 UTCVendor advisory
  12. 2026-08-22 14:51 UTCVendor advisory
  13. 2026-08-22 11:01 UTCVendor advisory
  14. 2026-08-22 07:12 UTCVendor advisory
  15. 2026-08-22 03:22 UTCVendor advisory
  16. 2026-08-21 23:32 UTCVendor advisory
  17. 2026-08-21 19:42 UTCVendor advisory
  18. 2026-08-21 16:49 UTCCISA KEV update
  19. 2026-08-21 15:52 UTCVendor advisory
  20. 2026-08-21 12:02 UTCVendor advisory
  21. 2026-08-21 08:13 UTCVendor advisory
  22. 2026-08-21 04:23 UTCVendor advisory
  23. 2026-08-21 00:33 UTCVendor advisory
  24. 2026-08-20 20:44 UTCVendor advisory
  25. 2026-08-20 17:06 UTCCISA KEV update
  26. 2026-08-20 16:54 UTCVendor advisory
  27. 2026-08-20 13:04 UTCVendor advisory
  28. 2026-08-20 09:14 UTCVendor advisory
  29. 2026-08-20 05:23 UTCVendor advisory
  30. 2026-08-20 01:33 UTCVendor advisory
  31. 2026-08-19 21:43 UTCVendor advisory
  32. 2026-08-19 17:53 UTCVendor advisory
  33. 2026-08-19 17:33 UTCCISA KEV update
  34. 2026-08-19 14:03 UTCVendor advisory
  35. 2026-08-19 10:13 UTCVendor advisory
  36. 2026-08-19 06:23 UTCVendor advisory
  37. 2026-08-18 22:39 UTCVendor advisory
  38. 2026-08-18 18:48 UTCVendor advisory
  39. 2026-08-18 16:58 UTCCISA KEV update
  40. 2026-08-18 14:57 UTCVendor advisory
  41. 2026-08-18 11:08 UTCVendor advisory
  42. 2026-08-18 07:15 UTCVendor advisory
  43. 2026-08-17 23:35 UTCVendor advisory
  44. 2026-08-17 15:52 UTCVendor advisory
  45. 2026-08-17 13:56 UTCCISA KEV update
  46. 2026-08-17 12:02 UTCVendor advisory
  47. 2026-08-17 08:11 UTCVendor advisory
  48. 2026-08-17 04:22 UTCVendor advisory
  49. 2026-08-17 00:32 UTCVendor advisory
  50. 2026-08-16 16:52 UTCVendor advisory
  51. 2026-08-16 13:03 UTCVendor advisory
  52. 2026-08-16 09:13 UTCVendor advisory
  53. 2026-08-16 05:23 UTCVendor advisory
  54. 2026-08-16 01:34 UTCVendor advisory
  55. 2026-08-15 21:44 UTCVendor advisory
  56. 2026-08-15 17:54 UTCVendor advisory
  57. 2026-08-15 14:04 UTCVendor advisory
  58. 2026-08-15 10:14 UTCVendor advisory
  59. 2026-08-15 06:24 UTCVendor advisory
  60. 2026-08-15 02:21 UTCVendor advisory
  61. 2026-08-14 22:32 UTCVendor advisory
  62. 2026-08-14 18:42 UTCVendor advisory
  63. 2026-08-14 14:53 UTCVendor advisory
  64. 2026-08-14 11:03 UTCVendor advisory
  65. 2026-08-14 07:14 UTCVendor advisory
  66. 2026-08-14 03:24 UTCVendor advisory
  67. 2026-08-13 23:35 UTCVendor advisory
  68. 2026-08-13 19:45 UTCVendor advisory
  69. 2026-08-13 12:05 UTCVendor advisory
  70. 2026-08-13 08:16 UTCVendor advisory
  71. 2026-08-13 04:27 UTCVendor advisory
  72. 2026-08-13 00:37 UTCVendor advisory
  73. 2026-08-12 20:48 UTCVendor advisory
  74. 2026-08-12 16:58 UTCVendor advisory
  75. 2026-08-12 13:09 UTCVendor advisory

Publicly available exploits

(10 references)

Working exploit code is in the public domain (9 GitHub PoCs) (1 Exploit-DB entry). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.

  • GitHub PoCdrcrypterdotru/PHPUnit-GoScan
    First seen Aug 30, 2025

    PHPUnit CVE-2017-9841 Scanner in Go clean and fire.

    Open source ↗
  • GitHub PoCK3ysTr0K3R/CVE-2017-9841-EXPLOIT
    First seen Jun 10, 2025

    A PoC exploit for CVE-2017-9841 - PHPUnit Remote Code Execution(RCE)

    Open source ↗
  • GitHub PoCChocapikk/CVE-2017-9841
    First seen Aug 27, 2023

    PHPUnit RCE

    Open source ↗
  • GitHub PoCMrG3P5/CVE-2017-9841
    First seen Mar 13, 2023

    A Tool for scanning CVE-2017-9841 with multithread

    Open source ↗
  • GitHub PoCMadExploits/PHPunit-Exploit
    First seen Dec 7, 2022

    PHPunit Checker CVE-2017-9841 By MrMad

    Open source ↗
  • GitHub PoCp1ckzi/CVE-2017-9841
    First seen Apr 9, 2022

    phpunit-shell | CVE_2017-9841

    Open source ↗
  • GitHub PoCakr3ch/CVE-2017-9841
    First seen Mar 20, 2022

    RCE exploit for PHP Unit 5.6.2

    Open source ↗
  • Exploit-DBEDB-50702
    First seen Feb 2, 2022

    PHP Unit 4.8.28 - Remote Code Execution (RCE) (Unauthenticated)

    Open source ↗
  • GitHub PoCincogbyte/laravel-phpunit-rce-masscaner
    First seen Jul 4, 2021

    Masscanner for Laravel phpunit RCE CVE-2017-9841

    Open source ↗
  • GitHub PoCludy-dev/PHPUnit_eval-stdin_RCE
    First seen Sep 14, 2020

    (CVE-2017-9841) PHPUnit_eval-stdin_php Remote Code Execution

    Open source ↗

Frequently asked(6)

What is CVE-2017-9841?
CVE-2017-9841 is a critical vulnerability published on June 27, 2017. 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…
When was CVE-2017-9841 disclosed?
CVE-2017-9841 was first published in the National Vulnerability Database on June 27, 2017, with the most recent update on June 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2017-9841 actively exploited?
Yes. CISA added CVE-2017-9841 to the Known Exploited Vulnerabilities catalog on February 15, 2022, affecting PHPUnit PHPUnit. KEV listing indicates confirmed exploitation in the wild; this CVE warrants immediate patching attention.
What is the CVSS score of CVE-2017-9841?
CVE-2017-9841 has a CVSS v3 base score of 9.8 (NVD).
Which products are affected by CVE-2017-9841?
CVE-2017-9841 affects PHPUnit PHPUnit. The full affected-products list, including version ranges and fixed versions, is shown in the Affected Packages section of this page.
How do I remediate CVE-2017-9841?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2017-9841, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2017-9841

Explore →

Is Your Infrastructure Affected by CVE-2017-9841?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.