Skip to main content
ExploitedIn CISA KEVFix available

CVE-2017-9841

Exploitation confirmed. First attested on 2022-02-15 by CISA-ADP, CISA KEV, GCVE · kevintel, GCVE · shadowserver.

  • Published2017-06-27
  • Fixed in5.6.3 · 4.8.28
  • WeaknessCWE-94

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

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.

Timeline

dates in UTC
  1. 2017-06-2717:29CVE publishedNVD
  2. 2022-02-15Listed as exploited by GCVEGCVE
  3. 2022-02-15Exploitation first reportedCISA KEV
  4. 2022-02-15Added to the CISA KEV catalogCISA KEV
  5. 2025-02-0714:09SSVC exploitation set to activeCISA-ADP
  6. 2026-10-2319:23First public proof of conceptPoC-in-GitHub
  7. 2026-10-2319:23EPSS crossed 10 %FIRST EPSS

Observed activity

isMalicious corpus · updated 2026-10-23 21:37 UTC
Indicators tagged with this CVE, per day7 indicators over 7 days
23
IndicatorSeen
152.32.130.13620 h ago
150.40.117.22420 h ago
13.140.137.17820 h ago
84.247.129.20820 h ago
175.200.104.4020 h ago
95.59.142.6921 h ago
31.77.156.6221 h ago
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2017-9841?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2017-9841?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

NVD · OSV
Phpunit project phpunit
BranchAffectedFixed in
5.x≥ 5.0.0, < 5.6.35.6.3
5.x≥ 5.0.10, < 5.6.35.6.3
4.8≥ 4.8.19, < 4.8.284.8.28
4.8≤ 4.8.27no fix published
Oracle communications diameter signaling router
BranchAffectedFixed in
8.x≥ 8.0.0, ≤ 8.5.0no fix published

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Fix

  1. Update Phpunit project phpunit to 5.6.3 · 4.8.28
  2. CISA’s required action: Apply updates per vendor instructions.due 2022-08-15

Advisories and patches

Detection

read 2026-10-23 19:23 UTC
Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB

CISA Known Exploited Vulnerability

Date Added
2022-02-15
Patch Due Date
2022-08-15
Ransomware Use
Unknown
Required Action
Apply updates per vendor instructions.

Sources

  • CISA KEVKEV entry2022-02-15
  • GCVEexploitation2022-02-15
  • CISA-ADPSSVC decisionactive2025-02-07
  • OpenCVESSVC decisionactive—
  • CISA-ADPCVSS 3.19.82025-02-07
  • NVDCVSS 3.19.8read 2026-10-23
  • NVDCVSS 2.07.5read 2026-10-23
  • CISA-ADPweakness (CWE)CWE-942025-02-07
  • NVDweakness (CWE)CWE-94read 2026-10-23
  • FIRST EPSSEPSS score99.9 %read 2026-10-23
  • PoC-in-GitHubproof of concept18read 2026-10-23
  • OSVaffected packages—

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Published
2017-06-27
Last Modified
2026-06-17
NVD status
Analyzed

Frequently asked questions

What is CVE-2017-9841?

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.

Is CVE-2017-9841 actively exploited?

Yes. CVE-2017-9841 is on the CISA Known Exploited Vulnerabilities (KEV) catalog, meaning it has been confirmed as actively exploited in the wild. CISA requires federal agencies to patch by 2022-08-15.

What is the CVSS score for CVE-2017-9841?

CVE-2017-9841 has a CVSS v3 base score of 9.8 (CRITICAL severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Running phpunit/phpunit? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month