On this page
About 70% of websites with a known server-side language run PHP: W3Techs measured 69.2% on 28 October 2026. That is why PHP2Shell, two remote code execution bugs in PHP itself (CVE-2026-109618 and CVE-2026-109619), reaches so many sites. The one fix is a patched PHP (8.5.12, 8.4.27, 8.3.36, 8.2.35 or a vendor backport) and a worker restart.
| Fact | Detail | Source |
|---|---|---|
| PHP share of the web | 69.2% of sites whose server-side language is known; checked 28 October 2026 | W3Techs |
| CVE ids | CVE-2026-109618 (out-of-memory corruption), CVE-2026-109619 (stale global state) | PHP notice |
| Severity | CVSS v4.0 9.2 for both | PHP notice (20 October pre-announcement) |
| Disclosed | 21 October 2026 | PHP notice, Dutch NCSC |
| Fixed releases | 8.5.12, 8.4.27, 8.3.36, 8.2.35 | PHP notice |
| Older branches | 8.1 and older get no PHP project updates. The PHP security team published minimal source backports for 7.4, 8.0 and 8.1; vendors may backport too | PHP notice |
| In scope | All PHP installations serving web requests: PHP-FPM, mod_php, php-cgi, FrankenPHP, LiteSpeed | PHP notice |
| Exploitation | Added to CISA's Known Exploited Vulnerabilities catalog on 26 October 2026. AWS reported honeypot attempts from 17 October (vendor-claimed) | CISA KEV, AWS |
| Checked | 28 October 2026 | this page |
What percent of the web actually uses PHP?
The number you see most often is "70%". Wiz writes that PHP powers 70% of all websites in the world without citing a source, and Cloudflare says "almost 70%" and cites W3Techs.
The source is the W3Techs page, and its wording is narrower. On 28 October 2026 it said PHP is used by 69.2% of all the websites whose server-side programming language it knows. Sites where it cannot tell the language are left out. So the honest sentence is "about 7 in 10 of the sites W3Techs can classify". It is a measure of what runs PHP, not of how many sites are vulnerable. A site on a patched build counts in the 69.2% and is not at risk from these bugs.
Why is PHP2Shell so bad?
Three facts from the primary sources explain it.
- It is in the engine, not the application. The PHP project describes two flaws in PHP core: out-of-memory handling that can leave request data half initialised, and request state that survives after its memory is freed and is reused by a later request on the same worker (each bug in plain English). Cloudflare states that updating website code or a plugin alone does not fix them.
- No login is needed. The Dutch NCSC says both can be reached remotely through web requests without authentication and can lead to remote code execution. It rates the advisory priority "Hoog" (High).
- It reaches far back. Wiz says every PHP version released in the last decade is affected by at least one of the bugs, going back to 5.4. That is the researcher's statement. The PHP project publishes fixes only for 8.2 to 8.5, plus the source backports for older branches.
Wiz reports finding the first bug on 19 August and reporting to the PHP security team on 24 August, so the fix took about two months to reach users (same Wiz writeup). For the last bug of comparable scale, see how it compares with Log4Shell.
Did it knock governments offline?
We found no primary source that says a government system went offline because of PHP2Shell. What the primary sources do say is advice. The UK NCSC, in an alert published 21 October and updated 23 October, tells organisations to identify systems running PHP, update, and consider taking a system offline until it is fully mitigated if temporary mitigations cannot be applied in time. The Dutch NCSC advisory does not mention any government system being taken offline.
Posts naming a government service that went down are leads. Until the operator or a national agency says so, we do not repeat them. Our October 2026 incident tracker keeps the dated list of what is confirmed.
Who is affected, and what is the trap?
Any site whose PHP serves web requests and does not have the fix. That covers WordPress, WooCommerce, Drupal, Magento, Laravel and every other PHP application, since the bug is underneath them. Why updating WordPress alone does not help has the detail. Sites that do not run PHP are outside this bug. If you run a small site or a store, the October 2026 pages for small businesses and ecommerce stores put this next to the other incidents.
The trap is the version number. Some distributions and LTS vendors backport fixes for 8.1 and older, and a patched package does nothing until the workers restart. The PHP project says to contact your vendor for those backports. If you are on 8.1 or older, what owners of end-of-life PHP do now is its own page, and the other PHP2Shell guides cover the rest. The full walkthrough is in PHP2Shell: affected versions, fixes, and what to do now.
How do I fix it?
If a host manages PHP for you
Send support this question and keep the reply:
For [your domain], is the PHP runtime that serves web requests patched for CVE-2026-109618 and CVE-2026-109619? Please give the fixed package, build or backport identifier, confirm that all PHP workers serving it have been restarted or replaced, and say whether I need to redeploy.
- Get the answer in writing, naming your domain.
- Ask for the package or build identifier, not only a version.
- Ask for the worker restart time.
If you run the server yourself
- Update PHP from your distribution or vendor so the package changelog names both CVEs, or move to 8.5.12, 8.4.27, 8.3.36 or 8.2.35.
- Restart every PHP worker, and rebuild container images that bundle PHP.
- Check each virtual host and each PHP version on the machine.
- If you cannot patch today, apply the project's temporary measures and restrict access. The project says they reduce exposure to specific paths and do not make an installation safe.
A WAF is extra cover only. Cloudflare says its rules reached free and paid customers from 21 October 03:02 UTC and still tells customers to patch.
Am I affected?
Am I affected? Where you stand right now
A scan from outside reads what your site serves. It cannot see a vendor backport, which PHP serves a given virtual host, or whether workers restarted.
- Detected Your site shows PHP and a version below the fixed release for its branch. Treat it as exposed. Ask the host the question above or patch and restart today.
- Unknown PHP is present but the version is hidden, or the version could be a backport. This is the common case. Get the package or build identifier and the restart time from whoever runs the server.
- Confirmed by owner evidence You hold the fixed package or changelog entry naming both CVEs, and a restart or redeploy time after it. The runtime is patched. What remains is whether anything got in before your patch time.
No scan, ours included, moves you from "unknown" to "confirmed".
Was it exploited?
AWS reports that its MadPot honeypots recorded attempts from 17 October, before disclosure. That is vendor telemetry (attempts versus real compromise is a separate question), and AWS says it is unclear whether such attempts would work on real systems. CISA then added both CVEs to its Known Exploited Vulnerabilities catalog on 26 October 2026, with a federal due date of 29 October and a forensic triage flag on each entry. The catalog lists known ransomware use as unknown. CISA names no victims, and neither do we.
The PHP project also published a 23 October informational notice for a related issue, CVE-2026-115560, and suggests setting session.upload_progress.enabled=0 until the next regular release. It is a separate item with its own conditions.
If your PHP was unpatched and reachable since 17 October, look for unexpected PHP files in upload folders, new scheduled tasks, new admin accounts and odd outbound connections. Patching does not remove anything planted before it.
The free scan reads the stack your site serves and matches each version to known vulnerabilities. It is a lookup: it can say a version is affected, not whether your setup is exposed.
Questions people ask
What percent of websites use PHP?
W3Techs reported on 28 October 2026 that PHP is used by 69.2% of the websites whose server-side language it can identify. That is a share of sites with a known language, not of every site and not of the whole internet. Cloudflare and Wiz both round it to about 70%.
Why is PHP2Shell so bad?
Two things combine. The bugs are in PHP itself, so updating WordPress or any plugin does not remove them, and the PHP project says an unauthenticated web request can reach them. The fix is a patched PHP on the server plus a restart of the workers, which only whoever runs the server can do.
Did PHP2Shell take down government websites?
We found no primary source that says so. The UK NCSC advised organisations to consider taking systems offline if they cannot mitigate in time, and the Dutch NCSC published an advisory, but neither says a government system went offline. Treat reports of named outages as unconfirmed until the operator says so.
Does updating WordPress fix PHP2Shell?
No. The flaws sit in the PHP engine that WordPress runs on. You need a patched PHP package on the server, or your host to confirm that it has one for your domain.
Is my site affected if I use PHP 8.3?
It is if the 8.3 build is older than 8.3.36 and is not a vendor backport that names both CVEs. A version number alone cannot settle that, because distributions keep the old number when they backport. Ask your host or check the package changelog.
Is PHP2Shell being exploited in the wild?
Yes, by CISA's standard. CISA added both CVEs to its Known Exploited Vulnerabilities catalog on 26 October 2026, and AWS reported honeypot attempts from 17 October. No primary source we read names a compromised organisation.
Sources
- PHP security notice, 21 October 2026 (php.net)Names both CVEs, the fixed releases, the source backports for 7.4, 8.0 and 8.1, and says all installations serving web requests are in scope. Checked 28 October 2026.
- W3Techs: usage statistics of PHP as server-side programming language69.2% of sites whose server-side language is known, dated 28 October 2026 on the page (69.3% on 23 October). Checked 28 October 2026.
- GHSA-w8hw-w9fx-j79w: CVE-2026-109618 (php/php-src advisory)
- GHSA-6wmf-4rv5-p3rp: CVE-2026-109619 (php/php-src advisory)
- Wiz Research: PHP2Shell writeupResearcher timeline and the claim that every PHP release of the last decade is affected by at least one of the bugs. Checked 28 October 2026.
- UK NCSC: critical security issue affecting PHP (21 October 2026, updated 23 October)Source for the government advice to inventory, patch and consider taking systems offline.
- Dutch NCSC advisory NCSC-2026-0443 (21 October 2026)
- Cloudflare: PHP vulnerabilities and WAF protectionWAF rules from 21 October 03:02 UTC; Cloudflare still tells customers to patch. Checked 28 October 2026.
- Amazon Threat Intelligence: PHP2Shell exploitation attempts in MadPot honeypots before disclosure (AWS Security Blog)Vendor telemetry. Read at our check on 28 October 2026; the claims taken from it are labelled vendor-claimed.
- CISA Known Exploited Vulnerabilities catalogBoth PHP CVEs added 26 October 2026, federal due date 29 October, forensic triage flagged, known ransomware use unknown. Checked 28 October 2026 against CISA's published catalog data.
Facts on this page are dated and point at the primary source next to them. If a vendor status changes after the date shown, the vendor's page wins; tell us at support@run.cloud and we will update it.