Is PHP2Shell Actually Unusual?
Facts & Figures
Visual Intelligence
Is PHP2Shell Actually Unusual?
On the old severity scale, no. It shares its exact score with 96 other PHP flaws. On the new one, yes.
PHP2Shell was widely reported as critical, scored 9.8. That is true and it is nearly meaningless, because 98 of the 112 PHP core CVEs scoring 9.0 or higher carry exactly 9.8. CVSS v3.1 saturates. Unauthenticated remote code execution over a network scores 9.8 almost mechanically, so the score stops separating one flaw from another at precisely the point you most want it to. PHP scored these flaws on the newer v4.0 scale instead, where they come out at 9.2 and rank second of the fifteen PHP CVEs scored that way. Same flaws, two scales, two different answers about how unusual they are.
! What the numbers actually say:
- • 9.8 on CVSS v3.1: Shared with 96 other PHP core records. The NVD assigns it; it describes the shape of the attack, not its rarity.
- • 9.2 on CVSS v4.0: PHP’s own score, and second of only fifteen PHP CVEs rated on v4.0 so far. This scale discriminates.
- • Not on CISA KEV: Three PHP core CVEs are on the known-exploited list. PHP2Shell was not, as of 22 October 2026.
Continue reading below for the full detailed article →
Why the old scale piles up
9.8 Is What the Formula Returns, Not a Judgement
CVSS v3.1 builds a score from a fixed vector. A vulnerability reachable over the network, needing no privileges and no user interaction, with full impact on confidentiality, integrity and availability, arrives at 9.8 by arithmetic. There is no room in the formula for how hard the exploit actually is to build.
That is why the chart looks the way it does. Of the 112 PHP core CVEs scoring 9.0 or higher, 98 land on exactly 9.8 and twelve on 9.1, leaving two records alone at 9.6 and 9.4. The distribution has almost no shape, because the scale has almost no resolution at the top.
Put the other way round: 87.5 per cent of every PHP flaw the scale calls critical sits on one value, and the whole rest of the band from 9.0 to 9.7 holds fourteen records between them. A distribution that concentrated is not measuring variation in the flaws. It is measuring the ceiling of the instrument.
So when coverage says PHP2Shell scored 9.8 and calls that remarkable, the statement is accurate and carries no information. Ninety-six other PHP records earned the same number, including several nobody remembers.
What changes on v4.0
The Newer Scale Says the Attack Is Hard
PHP, acting as its own CVE numbering authority, scored these flaws on CVSS v4.0 and got 9.2. The vector is the interesting part: it rates attack complexity as high and marks attack requirements as present. In plain terms, the scale is saying this is not a point-and-click exploit.
That matters because it is the only severity judgement here that comes from the people who maintain the code, and because it cuts against the week’s loudest claim. Several vendors said frontier AI models collapsed the difficulty of exploiting this flaw. PHP’s own scoring, published the same day, says the attack remains complex. Sansec added on 22 October that public proof-of-concept code does not work against a default PHP installation.
Among the fifteen PHP CVEs scored on v4.0 so far, 9.2 ranks second, behind CVE-2026-6722 at 9.5. On that scale PHP2Shell genuinely stands out. On the scale everyone quoted, it does not.
The list that tracks reality
Three PHP Flaws Are on the Known-Exploited List, and This Is Not One
Severity scores describe what a flaw could do. CISA’s Known Exploited Vulnerabilities catalogue describes what attackers are actually doing, which is a different and more useful question.
Three PHP core CVEs appear on it: CVE-2012-1823, CVE-2019-11043 and CVE-2024-4577. PHP2Shell was absent as of catalogue version 2026.10.21, rechecked later the same week. That may change, and the catalogue is updated continuously, but it is the position at the time of writing.
Taken together the three measures disagree in a useful way. The old scale says PHP2Shell is indistinguishable from 96 other records. The new scale says it is near the top but hard to exploit. The exploitation list says it has not yet joined the three PHP flaws attackers reliably use. All three are true at once, and a headline that quotes only the first is quoting the least informative one.
This year's records
More Than Half of 2026's PHP Flaws Clear the Critical Line
The chart carries every PHP core CVE that ever reached 9.0, and in addition every 2026 record whatever it scored. That second group is the grey scatter on the left, and it is there so one year can be seen whole rather than only through its worst entries.
2026 has fifteen PHP core records so far. Eight score 9.0 or above and seven do not, which puts more than half of a single year inside the band the scale cannot separate. Seven of those eight carry 9.8, the eighth 9.1. Below the line the piling up continues on a smaller scale: four of the seven share an identical 7.5, and the rest run 5.3, 5.5 and 6.1.
PHP2Shell is two of the eight. Set against the other six, nothing in the v3.1 number marks it out at all, because five of those six also carry 9.8. What actually separates it from the rest of the year is not its severity score. It is how much of the installed base runs a branch that never received a patched release.
The dataset
Every PHP Core CVE in the Chart, With Its Score
All 119 records plotted above: every PHP core CVE scoring 9.0 or higher on CVSS v3.1, plus every 2026 record whatever it scored, as read from the National Vulnerability Database on 22 October 2026. Sortable by any column, and downloadable in full.
| CVE-2007-1383 | 2007 | 9.8 | Scores above 9 | No |
| CVE-2008-0599 | 2008 | 9.8 | Scores above 9 | No |
| CVE-2008-2108 | 2008 | 9.8 | Scores above 9 | No |
| CVE-2010-1866 | 2010 | 9.8 | Scores above 9 | No |
| CVE-2012-1823 | 2012 | 9.8 | Scores above 9 | Yes |
| CVE-2014-3622 | 2020 | 9.8 | Scores above 9 | No |
| CVE-2014-9912 | 2017 | 9.8 | Scores above 9 | No |
| CVE-2015-4116 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-4599 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-4600 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-4601 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-4602 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-4603 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-4642 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-4643 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-5589 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-6834 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-6835 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-8617 | 2016 | 9.8 | Scores above 9 | No |
| CVE-2015-8835 | 2016 | 9.8 | Scores above 9 | No |
Showing 1-20 of 119
Quick Answers
Is a CVSS score of 9.8 unusual for PHP?
No. Of the 112 PHP core CVEs scoring 9.0 or higher in the National Vulnerability Database, 98 carry exactly 9.8. The v3.1 formula returns that figure almost mechanically for any unauthenticated remote code execution flaw, so it does not separate one from another.
Why does PHP score it 9.2 when the NVD says 9.8?
Different scales. The NVD used CVSS v3.1 and got 9.8. PHP, as its own CVE numbering authority, used the newer v4.0 and got 9.2, with a vector rating attack complexity high and attack requirements present. Both are published and neither is an error.
Is PHP2Shell on the CISA known-exploited list?
It was not, as of catalogue version 2026.10.21, rechecked later that week. Three PHP core CVEs are on it: CVE-2012-1823, CVE-2019-11043 and CVE-2024-4577. The catalogue is updated continuously, so this can change.
So is it serious or not?
It is serious, and it is also not exceptional by PHP’s own historical standard on the scale most coverage quoted. The more useful questions are whether your branch received a patched release and whether exploitation is observed, rather than where it sits on a saturated scale.
Data Source and Attribution
National Vulnerability Database CVE-2026-109618 record (PHP as CNA)
The chart plots every PHP core CVE record scoring 9.0 or higher on CVSS v3.x, read from the National Vulnerability Database on 22 October 2026, plus the 2026 records regardless of score. NVD data is United States government work and carries no redistribution restriction.
Which records count as PHP core rather than a third-party extension is our own filter over the full php:php result set, so the exact totals should be treated as ours rather than the NVD’s.
One precursor record from 2004 predates CVSS v3 and is excluded from the chart because it has no comparable score. It is counted nowhere in the 119.
The 2016 cluster in the underlying data reflects an NVD backlog rather than a spike in PHP flaws that year, which is why this post compares scores rather than counts per year.
The table and its CSV carry the same 119 records as the chart, with the CISA KEV column joined from the catalogue on the same date. Three of the 119 appear on it.
Last verified: 24 Oct 2026
Related Publications
More from FactsFigs
How Much of the PHP Web Cannot Take the PHP2Shell Patch?
About a third of WordPress installs run a PHP branch the project never shipped a fixed release for. Three samples of the same question give 35.8, 48.4 and 93.2 per cent.
23 Oct 2026
Who Found PHP2Shell: Humans or AI?
A timeline of one PHP flaw. Humans documented the weakness class in 2004 and found the bug in 2024 without an exploit. Three AI-assisted teams built one in 2026.
22 Oct 2026
AI Companies Ranked by Valuation: Two Hold 89% of the Value
Anthropic, OpenAI, Databricks and Mistral AI ranked by latest announced valuation. Two hold 89.4% of the combined value, and first is at most 40x fourth.
07 Oct 2026
Who Leads AI Infrastructure Investment? Big Tech Capex Ranked
Amazon, Microsoft, Alphabet, Meta and Oracle filed $723.1B of capex in two fiscal years. None breaks out AI, and the top two swap with leases.
06 Oct 2026
