Live updates: this post is a snapshot. For the latest on PHP2Shell (CVE-2026-109618 and CVE-2026-109619), follow the Mallory story. It updates automatically as advisories, exploits and attack activity appear.
Update, Oct 24, 04:15 UTC: what has happened since Oct 21
- Attacks are widespread, with no confirmed compromise. Cloudflare, Imperva and Check Point report attempts in the hundreds of thousands to millions, some trying to install Mirai-style botnets. Sophos withdrew its compromise claim on Oct 22: the attempts it saw failed. Amazon logged an attempt on Oct 17, four days before disclosure. It is not clear whether that attempt would have worked.
- Reliable exploits exist, but privately. Trail of Bits says its exploit is now "production-grade". Dan Guido says it works on stock production settings with ASLR on, on Apache mod_php and nginx PHP-FPM, against MediaWiki, WordPress, phpBB and Laravel. VulnCheck has a private exploit for PHP 8.4 and 8.5 under mod_php. Neither company has published its exploit. SANS ISC says no reliable exploit is public. Treat unpatched servers as exploitable.
- Appliances are the near-term risk. Kevin Beaumont reports that Palo Alto firewall VMs, Citrix NetScaler and HPE System Management Homepage run PHP with ASLR off. Palo Alto has set hotfix dates of Oct 26 to 30. Citrix has published CTX697263 but no fix yet. F5 BIG-IP has no fix and now also lists the APM access profile as affected.
- A third CVE. On Oct 23 PHP disclosed CVE-2026-115560, an unlikely RCE path through session upload progress. It is not fixed in 8.5.12, 8.4.27, 8.3.36 or 8.2.35. Keep
session.upload_progress.enabled=0until PHP's next regular release (details). - Patching is accelerating. About 1 in 10 services on PHP 8.2 to 8.5 now show a fixed version, up from 1 in 280 on Oct 21. Red Hat 8 and 9, AlmaLinux, Rocky, Oracle Linux, Amazon Linux 2023, Fedora 45, SUSE 15 and Elastic Beanstalk now have fixes, as do Plesk's own PHP, Kinsta, Hostinger, GoDaddy, WP Engine and SiteGround.
- Government response. The UK government said 32 services were unavailable on Oct 22, "largely from precautionary measures". Basel-Stadt and the Dutch NCSC also took sites offline as a precaution. NCSC-NL knows of one report of possible abuse abroad.
- Neither CVE is in the CISA KEV catalog (as of the Oct 23, 19:30 UTC release).
Correction, Oct 21: our Oct 20 version undercounted PHP services on older branches because of how Shodan matches short version strings. Recounted by exact version, 73.5% of services that disclose a PHP version run 8.1 or older, not 59%.
PHP released fixes on October 21 for two critical remote code execution flaws in PHP core, CVE-2026-109618 and CVE-2026-109619, together known as PHP2Shell. An unauthenticated attacker can trigger them before any application code runs. Security vendors report millions of exploitation attempts, but no confirmed compromise. Our recount finds that about three in four internet-facing PHP services that disclose a version run PHP 8.1 or older, and PHP will not release fixes for those versions. Two days after release, about 1 in 10 services on supported branches showed a fixed version. Common dependency and container scanners do not flag these CVEs, so a clean scan does not mean a server is safe.
At a glance
| CVEs | CVE-2026-109618 (memory-exhaustion corruption), CVE-2026-109619 (stale state between requests) |
|---|---|
| Name | PHP2Shell (both CVEs) |
| Severity | CVSS v4.0 9.2 (both, from PHP). NVD: CVSS 3.1 9.8 for CVE-2026-109618 and 8.1 for CVE-2026-109619. Network, no authentication, no user interaction |
| Fixed versions | 8.5.12, 8.4.27, 8.3.36, 8.2.35. Released Oct 21; advisories public 13:34 UTC |
| Older versions | PHP will not release fixed versions for 8.1 or older. It published source-only fixes for 7.4, 8.0 and 8.1. Some distributions and vendors ship backports (see below) |
| Third CVE | CVE-2026-115560, disclosed Oct 23. A separate RCE path that needs an unusual session setup. No fixed release yet; keep session.upload_progress.enabled=0 |
| Affected range | All supported branches before the fixed versions. NVD lists CVE-2026-109619 from PHP 5.4.0 and CVE-2026-109618 from 7.3.0. PHP's own advisories give no lower bound |
| Highest risk | Apache with mod_php: a demonstrated attack runs before any application code |
| Appliances | Not fixed as of 22:15 UTC, Oct 23: Palo Alto PAN-OS and Panorama (hotfixes due Oct 26 to 30), F5 BIG-IP, Citrix NetScaler, Juniper J-Web, QNAP and Trend Micro Apex One. Many firewalls, NAS devices, phone systems and control panels bundle their own PHP. See the product table |
| Scanners | Still true on Oct 23: Dependabot, composer audit and lockfile scans report nothing. Trivy cannot tell vulnerable from fixed official php images (see below) |
| Exploitation | Millions of attempts, including botnet payloads. Amazon saw an attempt four days before disclosure. Trail of Bits and VulnCheck have private exploits that work in production configurations; no reliable exploit is public. No confirmed compromise published. Not in CISA KEV (as of Oct 23, 19:30 UTC) |
Am I affected?
- Yes, if a web server runs PHP older than 8.5.12, 8.4.27, 8.3.36 or 8.2.35 through mod_php, PHP-FPM, CGI, FrankenPHP or LiteSpeed. The application does not matter: WordPress, Drupal, Magento, Laravel and Symfony sites are all exposed through the PHP they run on.
- Yes, if a web server runs PHP 8.1 or older. PHP published source patches for 7.4, 8.0 and 8.1, but no fixed release. Only some distributions and vendors ship backports (see Who has shipped fixes).
- Probably not, if PHP runs only from the command line, for example Composer, PHPUnit or cron scripts, and never answers HTTP requests.
- Check the package, not only the version. Debian, Ubuntu, Red Hat, SUSE, Plesk and cPanel fix older branches without changing the PHP version number. Compare your package release with the vendor advisory.
- On hosting or an appliance, ask the vendor. You cannot patch a PHP that the vendor ships. See Products that run PHP and the hosting list below.
What to do now
- Update to PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35, or your vendor's patched package. Then restart every PHP worker (PHP-FPM, Apache, LiteSpeed) and confirm the running version.
- Even after updating, set
session.upload_progress.enabled=0until PHP's next regular release. PHP recommends this to block CVE-2026-115560, which the Oct 21 releases do not fix (details). - Patch Apache mod_php servers first. Then PHP-FPM, php-cgi, FrankenPHP and LiteSpeed.
- On PHP 8.1 or older, move to a supported branch. If you cannot move now, get a vendor backport, or build from PHP's source-only fix for 7.4, 8.0 or 8.1. Until then, restrict access (VPN, IP allowlist) or take the service offline.
- If you cannot patch today, apply PHP's interim measures. They reduce risk but do not make a server safe:
- Set
session.upload_progress.enabled=0in php.ini or the server configuration, and restart every worker. Under mod_php, make sure.htaccesscannot turn it back on. - Set
memory_limit=-1in a way applications cannot override, such asphp_admin_valuein the FPM pool or Apache configuration. Check that no pool, directory or application setting puts a finite limit back. Keeppost_max_sizelow (8M without uploads, 32M with uploads). - On PHP 8.5, set
fatal_error_backtraces=0. - Do not use
RLIMIT_ASorRLIMIT_DATAas a limit. They can trigger the vulnerable failure.
- Set
- Ask hosting providers and appliance vendors whether they have deployed the fix. Updating WordPress, Drupal or Laravel does not update PHP.
- Check the PHP version that each web server actually runs, for example with
php -vfor the same binary or aphpinfo()page behind authentication. Do not rely on a clean dependency or container scan (see below). - Watch for exploitation signs. Look for unexpected child processes of the web server, new files in web roots, PHP worker crashes, and sudden spikes in HTTP 502 errors. Turn on your WAF vendor's rules for these CVEs.
Is it being exploited?
As of 04:15 UTC, October 24: attacks are widespread, but no one has published a confirmed compromise. Reliable exploits exist privately at Trail of Bits and VulnCheck, but none is public.
Attack volume
- Amazon saw an attempt in its MadPot honeypots on Oct 17, four days before disclosure. More attempts from several sources followed on Oct 21 between 02:00 and 08:00 UTC. Amazon says "it's unclear if any of these attempts would have succeeded in real-world systems."
- Cloudflare reports that it "observed attack traffic targeting our customers", and that attackers changed their payloads to try to get past its rules. Its CEO wrote on Oct 22 that attempts grew to millions after the announcement.
- Imperva counted 482,342 attack requests against 21,998 sites in 103 countries in the first 24 hours. It says these "do not represent confirmed successful exploitation".
- Check Point says one in ten organizations were "impacted". It defines that as exploitation attempts: "we have no way of knowing if the attack has been successful".
- VulnCheck canaries recorded scanning on Oct 21 with tools named
php2shell-scanandphp2shell-verify. One scanner reached 188 canary hosts. At 17:22 UTC, a China-based IP tried to plant a web shell through the session upload-progress path. Its attempts to read the shell back all returned 404, so the attempt failed. - watchTowr reports exploitation in its honeypot network since October 21. Imunify360 and Patchstack hosting partners also reported attempts.
Botnets
- cowrAI recorded PHP2Shell attempts on its honeypots that tried to download a Mirai-variant DDoS bot.
- Sophos first reported a compromise, then corrected it on Oct 22 at 21:21 UTC. Its telemetry shows "scanning and a small number of failed exploitation attempts" and "no evidence of a successful compromise". The Potassium botnet malware the attackers tried to install was not delivered.
Exploit code
- SANS ISC says "no reliable exploit has been made available publicly". A second diary explains that public exploits assume an 8 MB memory limit where real servers use 128 MB. They also read memory addresses from the server itself, and can only run very short commands. That describes public code. The private exploits below show that reliable exploitation is possible.
- A public research exploit achieves remote code execution against PHP 8.5.11, but only with ASLR turned off.
- Trail of Bits CEO Dan Guido says its private exploit is now "production-grade" (Oct 24, 02:52 UTC). He says it works with a stock
php.ini-production,display_errors=off, a normal memory limit, multiple workers and ASLR on, under load. He lists ARM64 and x86-64 targets, MediaWiki, WordPress, phpBB and Laravel, and both Apache with mod_php and nginx with PHP-FPM, ending in "root". On Oct 22 he had reported a shell on an unmodified MediaWiki installation. Trail of Bits has not published the exploit. - VulnCheck says it had a weaponized exploit for CVE-2026-109618 by 1:30 AM ET on Oct 22. It chains a memory leak VulnCheck found into RCE with ASLR on and
display_errors=off. As of 5:30 PM ET on Oct 23, it supports PHP 8.4.10 to 8.4.26 and 8.5.10 to 8.5.11 under mod_php on AMD64 and ARM64 with default settings, including default WordPress Docker installs. VulnCheck shares it only with customers. - VulnCheck also reviewed the public proof-of-concepts. "Only a very small number have been legitimate exploits." It found one that bypassed ASLR on x86-64, but only for PHP 8.4.26 with default heap settings. In VulnCheck's testing it did not work outside that setup.
- Systems with ASLR turned off are easier targets. Kevin Beaumont reports that Palo Alto firewall VMs, Citrix NetScaler and HPE System Management Homepage ship PHP with ASLR off, which makes the public techniques much easier to use. He expects public exploits that work with ASLR on "probably next week".
- A Metasploit module is proposed but not merged (PR #22036, open as of Oct 23).
- Many proof-of-concept repositories are public, and most do not work. At least one fake proof-of-concept hides a malicious payload. Do not run untrusted exploit code.
Official status
- The Dutch NCSC (updated Oct 23, 15:43) knows of one report of possible abuse abroad, and calls exploitation technically complex.
- The UK government told Parliament on Oct 22 that it is "not currently aware of any confirmed compromise of central government systems".
- Palo Alto, Fortinet, Juniper and Cisco all say they are not aware of malicious exploitation against their products.
- CVE-2026-109618, CVE-2026-109619 and CVE-2026-115560 are not in the CISA Known Exploited Vulnerabilities catalog (Oct 23 release, 19:30 UTC).
What the bugs are
PHP's advisory and the public fix explain both flaws.
- CVE-2026-109618 (memory-exhaustion corruption):
- When PHP runs out of memory while it parses an incoming request, it stops abruptly and leaves internal data half-built.
- The cleanup step then treats that data as valid.
- On Apache mod_php the worker process survives this and keeps running, which is why mod_php carries the highest risk.
- CVE-2026-109619 (stale state between requests):
- Data that belongs to one request can survive after its memory is freed.
- The next request handled by the same worker can then use it.
- Confirmed paths include session upload progress, which is on by default, and a PHP 8.5 error-reporting feature.
PHP fixed both flaws in one change per branch. Early public theories blamed a different upload-progress bug, and many circulating proof-of-concept scripts follow that theory. PHP's security team found no working public exploit at release time.
On Oct 22, a researcher reported a crash in PHP 8.5.12 that looked like a bypass of the fix. PHP's Jakub Zelenka replied that it is "unrelated issue with minimal impact" and "has nothing to do with the RCE". PHP has not released any version after 8.5.12, 8.4.27, 8.3.36 and 8.2.35.
A third CVE: CVE-2026-115560
On Oct 23 at 10:12 UTC, PHP published an informational advisory for CVE-2026-115560, which PHP calls "an unlikely RCE vector". It applies only when all of these are true:
- The application sets
session.serialize_handlertophp_binaryorphp_serializein its configuration. - It then switches the handler to
phpat runtime withini_set()before it callssession_start(). - Session upload progress is still enabled.
The Oct 21 releases do not fix it. PHP will fix it in the next regular release and publish a full advisory then. Until then, PHP recommends session.upload_progress.enabled=0. If you set this as an interim measure on Oct 21, keep it. There is no CVSS score, NVD record or OSV record yet.
Why your scanner may not flag it
The flaws are in the PHP interpreter, not in an application or framework. A Laravel, Symfony, WordPress or Magento site is exposed because it runs on a vulnerable PHP, whatever the version of the application. Many security scanners look at the application's dependencies, so they miss the interpreter. We tested this at 21:45 UTC on October 21:
- Dependabot: GitHub has no global advisory for either CVE. PHP published the advisories only on the php-src repository, so Dependabot has nothing to alert on.
composer auditand lockfile scans: OSV and the Packagist advisory database have no record for the PHP interpreter.- Official Docker
phpimages: Trivy gave the same result for the vulnerablephp:8.3.35-apacheand the fixedphp:8.3.36-apache, with no finding for either CVE. These images compile PHP from source, and Trivy only reads the Debian packages. Grype finds the PHP binary in these images, but it did not report these CVEs in our test. - Distribution packages: Debian and Ubuntu PHP packages are flagged, because their security trackers list the CVEs.
Software bills of materials (SBOMs) do not close the gap either. We looked for vendor SBOMs for 223 commercial and open-source products. For about three in four, we found none, and many others are available only to customers on request. Of the 39 SBOM files we could download, 32 do not list a PHP interpreter. Some of those products do not use PHP, such as TrueNAS. Others, such as Zabbix, Nextcloud and Pimcore, list their PHP libraries but not the PHP that runs them.
We checked again on Oct 23 at about 22:00 UTC:
- GitHub still has no global advisory, so Dependabot still has nothing to alert on.
- OSV still has no record under the CVE IDs. It has records only for Bitnami's PHP packages, such as
BIT-php-2026-109618. - NVD has analyzed both CVEs and published version ranges, so scanners that match against NVD can now find them.
- A Trivy user reports that
php:8.2.30images are still not flagged. - The Nuclei template for these CVEs is merged. It is marked
intrusivebecause it detects the flaw by crashing a PHP worker. Do not run it against production without approval.
Until your scanner shows these CVEs, check the running PHP version directly.
Who has shipped fixes
As of 22:15 UTC, October 23:
Fixed
- Linux distributions:
- Debian 12 (
php8.2, DLA-4848-1) and 13 (php8.4, DSA-6574-1). - Ubuntu 14.04 to 26.10. 14.04, 16.04, 18.04 and 20.04 are fixed through Ubuntu Pro.
- Alpine edge and 3.24 (PHP 8.4 and 8.5).
- Fedora 43, 44, 45 and Rawhide.
- Red Hat Enterprise Linux 10, 9 (PHP 8.0,
php:8.2andphp:8.3) and 8 (php:7.4andphp:8.2), plus EUS, E4S and AUS streams back to 8.4. See the Red Hat VEX for each erratum. - AlmaLinux 8, 9 and 10, including AlmaLinux-only builds for
php:7.2,php:7.3,php:8.0andphp:8.1. - Rocky Linux 8, 9 and 10, and Oracle Linux 8, 9 and 10.
- SUSE Linux Enterprise 16.0, 15 SP4 to SP7 (
php8andphp7), SLE 12 (php74), and openSUSE Leap 15.6. - Amazon Linux 2023 (PHP 8.2 to 8.5) and Amazon Linux 2 PHP 8.2 (Extras).
- Debian 12 (
- Container images: the official Docker
phpimage. - PHP packages and builds:
- OndÅej SurÃ―'s PPA, including 5.6, 7.4, 8.0 and 8.1.
- windows.php.net.
- remi repository, including 7.4, 8.0 and 8.1.
- CloudLinux alt-php 5.2 to 8.5 on CloudLinux 7, 8 and 9.
- Hosting control panels:
- cPanel EasyApache 4 (ea-php74 to ea-php85), and the PHP that cPanel & WHM itself runs on.
- DirectAdmin, including 7.4, 8.0 and 8.1.
- Plesk: the panel's own PHP (Obsidian 18.0.81 Update 4 and 18.0.80 Update 11), and PHP for hosted sites: 8.2 to 8.5, and 7.4, 8.0 and 8.1 on Linux.
- CloudLinux ea-php packages for cPanel EasyApache 4 (ea-php52 to ea-php85).
- HestiaCP, including the panel's own PHP.
- Cloud and hosting platforms:
- AWS Elastic Beanstalk: PHP 8.4 and 8.5 platforms (Oct 21), PHP 8.2 and 8.3 platforms (Oct 22). AWS says its own services are not affected (bulletin 2026-143-AWS).
- Heroku, including 8.1. Apps must be rebuilt and redeployed.
- Laravel Cloud, all regions. Running apps were patched in place.
- Pantheon, including LTS versions.
- Kinsta, all versions.
- Hostinger shared hosting. VPS customers must update PHP themselves.
- GoDaddy Managed Hosting for WordPress, Web Hosting and Windows Hosting.
- WP Engine and SiteGround.
- Azure App Service on Linux, built-in images on the Latest and Standard release channels (8.2 to 8.5). The Extended channel gets the fix last. Custom containers need a rebuild.
- Bref 3.0.14. Redeploy to use the fixed layers.
- FrankenPHP 1.13.2.
- Google Cloud runtimes. App Engine flexible and custom images need a redeploy.
- Hetzner managed hosting.
- One.com (8.2 and later).
- OVH web hosting, PHP 7.4 to 8.5.
- Clever Cloud, including 7.4, 8.0 and 8.1.
- DigitalOcean App Platform PHP buildpack and Functions runtimes (redeploy to use them).
Not yet fixed
- Red Hat Enterprise Linux 9
php:8.4module stream. - SUSE Linux Enterprise 16.1 and 16.2, SLE 15 before SP4, and openSUSE Leap 16.0 and 16.1.
- Amazon Linux 2 core PHP and Amazon Linux 2023 PHP 8.1: no fix planned.
- Debian 11 (bullseye): not listed in the Debian security tracker.
- Vercel community PHP runtime: 8.5 and 8.4 are fixed; 8.3 and 8.2 are not. Redeploy to use the fix.
- DigitalOcean Marketplace 1-Click images (WordPress, LAMP, LEMP, Laravel and others): DigitalOcean delisted them until patched and has not said they are fixed. Servers already created from them do not update themselves.
Unofficial backports for end-of-life PHP: independent developers have published patches for PHP versions that no vendor fixes. They come with no support commitment, and upgrading remains the real fix:
- PHP 7.3 on CentOS 7, and PHP 5.4 and 5.3 on Amazon Linux: source patches and build scripts, no binaries (Leon Lai).
- PHP 5.4.16 on Enterprise Linux 7 and 5.3.3 on Enterprise Linux 6: patches plus signed RPMs (Oleksii Molchanov).
- TuxCare's commercial extended support also ships fixed builds, according to Molchanov.
No public statement found: Alibaba Cloud, which hosts about 111,000 versioned PHP services.
Products that run PHP
Many firewalls, NAS devices, phone systems, control panels and self-hosted apps run PHP. Some ship their own copy of PHP. An operating system update does not fix that copy; only the vendor can. Others use the PHP from the operating system, so the operating system update is the fix. The table shows which is which, for the products we checked.
Palo Alto Networks PAN-OS and Panorama are the most serious case so far. Palo Alto's advisory says all versions are affected. On Oct 23 it published expected hotfix dates of Oct 26 to Oct 30, depending on the version (for example 11.2.10-h16, 11.1.16-h4 and 10.2.18-h13 on Oct 26, and 12.2.4-h1 on Oct 28). The risk is highest when the management interface is reachable from the internet. Palo Alto rates the impact on its products as denial of service (CVSS-B 8.7) and is not aware of exploitation. Kevin Beaumont reports that Palo Alto firewall VMs run with ASLR off, which would make exploitation easier. As of 04:15 UTC on Oct 24, no hotfix had been released. Palo Alto recommends restricting management access to trusted internal IP addresses. Its Oct 24 update lists 25 Threat Prevention IDs (543004, and 97622 to 97678, from content version 9162). These protect the management interface only if management traffic is routed through a dataplane port and decrypted so the firewall can inspect it. Cloud NGFW, Prisma Access, WildFire and Strata Cloud Manager are not affected.
| Product | Runs PHP for web requests | PHP source and version | Vendor status |
|---|---|---|---|
| Firewalls and network appliances | |||
| Palo Alto Networks PAN-OS and Panorama | Yes | Bundled | Not fixed. Hotfixes expected Oct 26 to 30, depending on version; none released as of Oct 24, 04:15 UTC. Restrict management interface access (advisory) |
| Palo Alto Networks Cloud NGFW, Prisma Access, GlobalProtect app | Not stated | Not stated | Not affected (advisory) |
| Netgate pfSense Plus and CE | Yes | Bundled. 8.5.12 for Plus 26.07, Plus 26.03.1 and CE 2.9.0; 8.3.36 for CE 2.8.1 | Fixed packages (Netgate) |
| OPNsense | Yes | Bundled. 8.5.12 in CE 26.7.7; 8.3.36 in BE 26.4.2p3 | Fixed (announcement) |
| F5 BIG-IP Configuration utility and APM access profile | Yes | Bundled | Not fixed. Affected: 21.1.0, 17.5.0 to 17.5.1, 17.1.0 to 17.1.3. F5 gives a php.ini mitigation that does not survive an upgrade (K000163821) |
| F5 NGINX | Not stated | Not stated | Not affected (K000163821) |
| Citrix NetScaler ADC and Gateway management interfaces | Yes | Bundled | Affected, not fixed. Restrict management GUI access (CTX697263) |
| Fortinet FortiDDoS, FortiClient Cloud Services, FortiSOAR | Not stated | Not stated | Investigating (FG-IR-26-186) |
| Fortinet FortiOS, FortiManager, FortiAnalyzer, FortiWeb, FortiMail, FortiNAC, FortiADC, FortiClient EMS, FortiSIEM, FortiMonitor and others | Not stated | Not stated | Not affected (FG-IR-26-186) |
| Juniper Junos OS J-Web | Yes, when J-Web is on | Bundled | Affected, not fixed. Moving to PHP 8.5.12. Disable J-Web, JSC and fwAuth until then (JSA112681) |
| Sophos, all products | Not stated | Not stated | Not affected (advisory) |
| Check Point Mobile Access Portal and SSL Network Extender (R81.20, R82, R82.10, R82.20, Spark) | Yes | Bundled | Hotfix for R81.20, R82 and R82.10. R82.20 hotfix coming; IPS signature in place (sk1000302) |
| Cisco Expressway, Ultra-Reliable Wireless Backhaul, Duo Access Gateway | Yes | Bundled | Affected. Duo Access Gateway fixed in 3.2.0; others later. Many Cisco products still under investigation (advisory) |
| HPE Aruba ClearPass Policy Manager | Yes | Bundled | Fixed in 6.14.1 and 6.11.16 hotfix patches (HPESBNW05171) |
| HPE Data Management Framework 7, HPE Private Cloud AI, Cray ClusterStor Data Services | Yes | Bundled | Affected. No fixed versions listed (HPESBGN05174) |
| Extreme Networks ExtremeControl for Site Engine, IQ Engine (HiveOS), WiNG | Not stated | Not stated | Investigating. Other Extreme products not exposed (SA-2026-194) |
| Huawei | Not stated | Not stated | Investigating. No products named (security notice) |
| HPE System Management Homepage | Yes | Bundled, without ASLR (per Kevin Beaumont) | No HPE statement found (Beaumont) |
| Okta Access Gateway | Yes | Bundled | Upgrade to 2026.44.0. Okta and Auth0 cloud not affected (Okta) |
| WatchGuard, all products | Not stated | Not stated | Not affected (WGSA-2026-0032) |
| Security and IT management | |||
| Trend Micro Apex One | Yes | Bundled 8.2.30 | Affected. Mitigation in development (KA-0024802) |
| Trend Micro Apex Central | Yes | Bundled 8.2.33 | Affected. Mitigation in development (KA-0024802) |
| Centreon Web | Yes | Operating system | Update the OS PHP. Centreon Cloud is patched (advisory) |
| Nagios XI | Yes | Operating system | No statement found. Update the OS PHP (Nagios docs) |
| Zabbix frontend (packages) | Yes | Operating system | No statement found. Update the OS PHP (Zabbix advisories) |
| Zabbix official web Docker images | Yes | Alpine PHP 8.5.12; Ubuntu backport | Fixed. Latest tags and 6.0.49, 7.0.32, 7.4.16 rebuilt (issue 1982) |
| LibreNMS Docker image | Yes | 8.4.27 | Fixed in 26.10.2-r1 (release) |
| LibreNMS, Cacti, Icinga Web 2, Observium (installed on a server) | Yes | Operating system | No statement found. Update the OS PHP |
| GLPI official Docker images | Yes | 8.5.12 | Fixed (issue 334) |
| Hosting control panels | |||
| cPanel & WHM, the panel itself | Yes | Bundled 8.4.27 (cpanel-php84) | Fixed in 136.0.50 (changelog) |
| cPanel EasyApache 4, PHP for sites | Yes | Bundled ea-php74 to ea-php85 | Fixed in EA4 25.91 (changelog) |
| Plesk, the panel itself (sw-engine) | Yes | Bundled 8.4.27 | Fixed in Obsidian 18.0.81 Update 4 and 18.0.80 Update 11 (Plesk KB) |
| Plesk, PHP for sites | Yes | Bundled | Fixed for 8.2 to 8.5, and for 7.4, 8.0 and 8.1 on Linux (builds dated Oct 21) (Plesk KB) |
| DirectAdmin CustomBuild, PHP for sites | Yes | Built by DirectAdmin | Fixed for 8.2 to 8.5; patched 5.6 to 8.1 (staff posts) |
| HestiaCP, the panel itself (hestia-php) | Yes | Bundled | Fixed for Ubuntu 22.04 and later, Debian 11 and later (issue 5817) |
| HestiaCP, PHP for sites | Yes | OndÅej SurÃ― packages | Fixed through SurÃ― packages (issue 5817) |
| aaPanel, App Store PHP for sites | Yes | Bundled | Fixed for 8.2 to 8.5 only (aaPanel forum) |
| CloudPanel, PHP for sites | Yes | CloudPanel repository | Fixed for 8.2 to 8.5 on most OS versions; 8.1 and older not fixed (issue 816) |
| ISPConfig 3 | Yes | Operating system or SurÃ― | Update the OS PHP. Vendor mitigation available (ISPConfig) |
| Virtualmin, PHP for sites | Yes | Operating system | Update the OS PHP (Virtualmin forum) |
| Coolify v4 | Yes | Bundled 8.4.27 | Fixed in v4.4.7 and other v4 lines (release) |
| Webuzo, the panel itself | Yes | Bundled (EMPS) | Fixed in 4.8.5 (Webuzo) |
| NAS | |||
| Synology DSM management interface | No | DSM's built-in PHP is command-line only | Not exposed through the management interface (advisories) |
| Synology Web Station PHP packages | Optional | Bundled | Fixed for PHP 7.4 to 8.4 packages. No fix for PHP 7.3 (Synology-SA-26:14) |
| QNAP QTS, QuTS hero, QuTScloud and some apps | Optional | Bundled | Affected, fix in progress (QSA-26-18) |
| Unraid OS web interface | Yes | Bundled 8.4.27 in 7.3.4 | Fixed in 7.3.4 (release) |
| openmediavault web interface | Yes | Operating system (Debian) | Fixed through Debian packages (Debian) |
| Phone systems | |||
| FreePBX 17 and PBXact 17 | Yes | Operating system (Debian 12, PHP 8.2) | Fixed. Apply the system PHP updates (Sangoma) |
| FreePBX 16 and PBXact 16 | Yes | Sangoma repository (PHP 7.4) | No official fix. Sangoma recommends moving to version 17 (Sangoma) |
| Mail and collaboration | |||
| mailcow | Yes | Bundled 8.2.35 | Fixed in release 2026-10 (release) |
| Roundcube official Docker image | Yes | 8.4.27 | Fixed (issue 468) |
| Mailu, stable release | Yes | Alpine PHP | Fixed in 2024.06.67 (patched webmail PHP) (release) |
| IceWarp Server | Yes | Bundled | Patched PHP for 14.1 to 14.3. No fix for versions before 14.1 (PHP 7.3) (IceWarp KB) |
| Zimbra spell-check service | Optional | Bundled mod_php | No statement found (Security Center) |
| Nextcloud All-in-One | Yes | 8.4.27 | Fixed in v14.4.1 (release) |
| ownCloud Server 11 Docker image | Yes | Ubuntu PHP 8.3 | Fixed (issue 324) |
| ownCloud Server 10 Docker image | Yes | PHP 7.4 with backported fix | Fixed in 10.16.6-20261022 (issue 324) |
| Container images | |||
| Docker Official Images: php, wordpress, drupal, joomla, nextcloud, phpmyadmin, matomo, mediawiki, friendica, yourls, postfixadmin | Yes | 8.2.35, 8.3.36, 8.4.27 or 8.5.12 | Fixed. Pull and redeploy (php image) |
| Bitnami php-fpm | Yes | 8.5.12 | Fixed (release) |
| Bitnami legacy images (bitnamilegacy) | Yes | 8.4.11 | Not updated (Docker Hub) |
| Developer bundles | |||
| XAMPP | Yes | Bundled 8.0.30 to 8.2.12 (installers from 2024) | No statement found. No fixed build (issue 75) |
| WampServer | Yes | Bundled | Fixed PHP add-ons (8.2.35 to 8.5.12). The 3.4.0 installer ships older PHP (WampServer) |
| MAMP and MAMP PRO for Mac | Yes | Bundled 8.3.28, 8.4.15, 8.5.0 | No statement found. Not fixed (release notes) |
| Laragon | Yes | Bundled | Fixed for PHP 8.3 (8.3.36) in Laragon 8.8.0 (release) |
| Laravel Herd | Yes | Bundled | No statement found (Herd docs) |
| Laravel Sail | Yes | SurÃ― packages at build time | Rebuild the image to get fixed packages (Sail) |
| TurnKey Linux LAMP | Yes | Operating system (Debian) | Fixed through Debian packages (Debian) |
Products that do not use PHP
These products are sometimes assumed to run PHP. Their web interfaces use another language, so these CVEs do not affect them. PHP apps that you install on top of them can still be affected.
| Product | Web interface runs on |
|---|---|
| TrueNAS | Python and Angular. iXsystems says TrueNAS does not ship or use PHP (source) |
| Webmin, Proxmox VE | Perl |
| aaPanel (the panel itself) | Python |
| Gitea, Forgejo, Mattermost, Grafana, Prometheus, ownCloud Infinite Scale | Go |
| GitLab, Discourse | Ruby |
| Ghost, Rocket.Chat, Uptime Kuma | Node.js |
| Jenkins | Java |
| Home Assistant | Python |
| Pi-hole v6 | C (built-in web server). Pi-hole v5 used the OS PHP (source) |
- Internet exposure. Between 18:00 and 18:20 UTC, Shodan saw about 95,000 Nextcloud, 76,000 pfSense, 68,000 Coolify, 65,000 phpMyAdmin, 62,000 XAMPP, 47,000 HestiaCP, 20,700 OPNsense and 10,000 FreePBX web interfaces. One service is one IP address and port. A count shows exposure, not confirmed vulnerability.
- FreePBX is a clear legacy risk. About half of the FreePBX services that show a PHP version run PHP 7.4, which PHP stopped supporting in 2022.
- Pull and redeploy containers. The official Docker images listed above were rebuilt with fixed PHP between 18:11 and 18:42 UTC. Containers started from an older image keep the old PHP until you pull the new image and redeploy.
Where the unpatched services are
Shodan sees 2.6 million internet-facing services that report a PHP version. 73.5% of them (1.9 million) run PHP 8.1 or older, and PHP will not release fixes for these. A second scanner, Netlas, gives 75.9% on its own data.
| Branch group | Services | PHP fix |
|---|---|---|
| PHP 4.x to 5.1 | 57,002 | No |
| PHP 5.2 to 5.6 | 797,060 | No |
| PHP 7.x | 857,707 | Source-only fix for 7.4; none for 7.0 to 7.3 |
| PHP 8.0 and 8.1 | 213,338 | Source-only fix |
| PHP 8.2 to 8.5 | 693,177 | Yes, released Oct 21 |
Source: Shodan host counts, Oct 21, 2026. Each patch version counted from the X-Powered-By header and from Apache Server headers. One service is one IP address and port.
PHP services by branch group
Internet-facing services that report a PHP version (2.6 million)
- No PHP release (8.1 or older)
- Fixed release out (8.2 to 8.5)
- PHP 4.x to 5.1
- 57,002 (No PHP release (8.1 or older))
- PHP 5.2 to 5.6
- 797,060 (No PHP release (8.1 or older))
- PHP 7.x
- 857,707 (No PHP release (8.1 or older))
- PHP 8.0 and 8.1
- 213,338 (No PHP release (8.1 or older))
- PHP 8.2 to 8.5
- 693,177 (Fixed release out (8.2 to 8.5))
Source: Shodan host counts, Oct 21, 2026. Each patch version counted from the X-Powered-By header and from Apache Server headers.
PHP 7.4 alone accounts for about 411,000 services. More than half of them run 7.4.33, the last release, which PHP stopped supporting in 2022.
About 92,000 services still report PHP 5.5.9 from Ubuntu 14.04, which went out of standard support in 2019. Canonical fixed this version, but only through Ubuntu Pro. Only 247 of these services run an Ubuntu Pro build. About half of the 92,000 are on Alibaba Cloud in China.
By country
- 35 of the 73 countries with at least 1,000 versioned services are at 80% or higher.
- The largest of these are China, Italy (90%), South Korea (89%), Hong Kong and Algeria (99.9%).
Services on PHP 8.1 or older, as a share of each country's services that report a PHP version
Hover or tap a country for its numbers, or open the full list below.
- <30%
- 30%
- 40%
- 50%
- 60%
- 70%
- 80%+
All countries
- United States: 71% on 8.1 or older (494,910 of 699,282 services)
- China: 88% on 8.1 or older (172,422 of 196,192 services)
- Japan: 79% on 8.1 or older (142,232 of 180,514 services)
- Germany: 57% on 8.1 or older (100,805 of 175,443 services)
- Netherlands: 46% on 8.1 or older (38,683 of 83,275 services)
- France: 69% on 8.1 or older (53,871 of 78,086 services)
- Indonesia: 68% on 8.1 or older (49,902 of 73,735 services)
- Hong Kong: 83% on 8.1 or older (59,725 of 72,081 services)
- India: 71% on 8.1 or older (45,672 of 64,429 services)
- United Kingdom: 70% on 8.1 or older (43,331 of 62,339 services)
- Italy: 90% on 8.1 or older (55,433 of 61,386 services)
- South Korea: 89% on 8.1 or older (50,104 of 56,423 services)
- Brazil: 78% on 8.1 or older (43,054 of 55,379 services)
- Singapore: 77% on 8.1 or older (40,726 of 52,765 services)
- Canada: 80% on 8.1 or older (40,340 of 50,528 services)
- Thailand: 86% on 8.1 or older (31,159 of 36,226 services)
- Australia: 79% on 8.1 or older (27,834 of 35,338 services)
- Spain: 78% on 8.1 or older (25,969 of 33,359 services)
- Algeria: 99.9% on 8.1 or older (32,398 of 32,418 services)
- Mexico: 79% on 8.1 or older (23,656 of 29,996 services)
- Ireland: 78% on 8.1 or older (22,102 of 28,488 services)
- Denmark: 22% on 8.1 or older (5,365 of 24,693 services)
- Poland: 74% on 8.1 or older (17,726 of 24,088 services)
- Taiwan: 84% on 8.1 or older (20,042 of 23,977 services)
- Argentina: 90% on 8.1 or older (21,134 of 23,446 services)
- TÞrkiye: 69% on 8.1 or older (15,227 of 21,949 services)
- Vietnam: 76% on 8.1 or older (14,996 of 19,666 services)
- Sweden: 75% on 8.1 or older (11,537 of 15,336 services)
- Russia: 73% on 8.1 or older (11,105 of 15,130 services)
- Czechia: 80% on 8.1 or older (11,773 of 14,803 services)
- Ukraine: 87% on 8.1 or older (12,762 of 14,736 services)
- Finland: 54% on 8.1 or older (7,724 of 14,202 services)
- Malaysia: 80% on 8.1 or older (10,892 of 13,560 services)
- Romania: 80% on 8.1 or older (8,939 of 11,142 services)
- Switzerland: 81% on 8.1 or older (8,937 of 11,086 services)
- South Africa: 80% on 8.1 or older (8,487 of 10,603 services)
- Bulgaria: 63% on 8.1 or older (6,518 of 10,322 services)
- Morocco: 84% on 8.1 or older (8,609 of 10,221 services)
- Lithuania: 45% on 8.1 or older (4,517 of 10,071 services)
- Iran: 60% on 8.1 or older (5,368 of 8,907 services)
- Moldova: 28% on 8.1 or older (2,272 of 8,167 services)
- Bangladesh: 83% on 8.1 or older (5,516 of 6,639 services)
- Chile: 76% on 8.1 or older (4,546 of 5,963 services)
- Pakistan: 70% on 8.1 or older (4,138 of 5,906 services)
- Austria: 64% on 8.1 or older (3,722 of 5,830 services)
- Colombia: 77% on 8.1 or older (4,419 of 5,761 services)
- Hungary: 71% on 8.1 or older (3,879 of 5,497 services)
- Israel: 89% on 8.1 or older (4,546 of 5,129 services)
- Philippines: 84% on 8.1 or older (4,104 of 4,911 services)
- Latvia: 81% on 8.1 or older (3,539 of 4,349 services)
- Peru: 81% on 8.1 or older (3,091 of 3,796 services)
- United Arab Emirates: 39% on 8.1 or older (1,398 of 3,578 services)
- Kenya: 97% on 8.1 or older (3,332 of 3,433 services)
- Cambodia: 84% on 8.1 or older (2,698 of 3,218 services)
- Belgium: 71% on 8.1 or older (2,150 of 3,013 services)
- Portugal: 81% on 8.1 or older (2,273 of 2,809 services)
- Norway: 46% on 8.1 or older (1,268 of 2,760 services)
- Cyprus: 92% on 8.1 or older (2,017 of 2,183 services)
- Ecuador: 96% on 8.1 or older (1,950 of 2,039 services)
- Mongolia: 99.8% on 8.1 or older (1,993 of 1,997 services)
- Libya: 0.4% on 8.1 or older (7 of 1,886 services)
- Greece: 84% on 8.1 or older (1,582 of 1,883 services)
- Bolivia: 95% on 8.1 or older (1,647 of 1,737 services)
- Ghana: 95% on 8.1 or older (1,496 of 1,568 services)
- Slovakia: 82% on 8.1 or older (1,201 of 1,473 services)
- Serbia: 90% on 8.1 or older (1,241 of 1,376 services)
- Paraguay: 97% on 8.1 or older (1,277 of 1,321 services)
- Palestine: 99% on 8.1 or older (1,260 of 1,277 services)
- Kazakhstan: 55% on 8.1 or older (639 of 1,165 services)
- Bahrain: 99.8% on 8.1 or older (1,138 of 1,140 services)
- Uzbekistan: 99% on 8.1 or older (1,127 of 1,140 services)
- Tunisia: 54% on 8.1 or older (586 of 1,089 services)
- Venezuela: 99% on 8.1 or older (1,059 of 1,073 services)
- Estonia: Too few versioned services (865)
- Jamaica: Too few versioned services (814)
- Luxembourg: Too few versioned services (549)
- Slovenia: Too few versioned services (528)
- Belarus: Too few versioned services (483)
- Senegal: Too few versioned services (433)
- Maldives: Too few versioned services (412)
- New Zealand: Too few versioned services (410)
- Sri Lanka: Too few versioned services (317)
- Costa Rica: Too few versioned services (308)
- Syria: Too few versioned services (287)
- Georgia: Too few versioned services (266)
- Dominican Republic: Too few versioned services (255)
- Malta: Too few versioned services (240)
- Seychelles: Too few versioned services (212)
- Croatia: Too few versioned services (203)
- Uruguay: Too few versioned services (189)
- Qatar: Too few versioned services (184)
- Afghanistan: Too few versioned services (184)
- Albania: Too few versioned services (178)
- Mauritius: Too few versioned services (173)
- Azerbaijan: Too few versioned services (162)
- Nepal: Too few versioned services (152)
- Armenia: Too few versioned services (145)
- North Macedonia: Too few versioned services (141)
- Saudi Arabia: Too few versioned services (131)
- Guatemala: Too few versioned services (104)
- Jordan: Too few versioned services (89)
- Honduras: Too few versioned services (82)
- Botswana: Too few versioned services (80)
- Panama: Too few versioned services (74)
- Zimbabwe: Too few versioned services (73)
- Bosnia and Herzegovina: Too few versioned services (65)
- Nicaragua: Too few versioned services (63)
- Puerto Rico: Too few versioned services (62)
- Nigeria: Too few versioned services (59)
- Myanmar: Too few versioned services (53)
- CÃīte d'Ivoire: Too few versioned services (49)
- Iceland: Too few versioned services (47)
- Ethiopia: Too few versioned services (45)
- Kyrgyzstan: Too few versioned services (42)
- Egypt: Too few versioned services (40)
- Namibia: Too few versioned services (37)
- El Salvador: Too few versioned services (37)
- Iraq: Too few versioned services (36)
- Cameroon: Too few versioned services (27)
- Kuwait: Too few versioned services (27)
- Lebanon: Too few versioned services (24)
- Malawi: Too few versioned services (23)
- Laos: Too few versioned services (20)
- Tajikistan: Too few versioned services (18)
- Bhutan: Too few versioned services (15)
- Tanzania: Too few versioned services (15)
- Monaco: Too few versioned services (12)
- Angola: Too few versioned services (11)
- Togo: Too few versioned services (10)
- Macao: Too few versioned services (10)
- Rwanda: Too few versioned services (10)
- Uganda: Too few versioned services (10)
- Zambia: Too few versioned services (10)
- Montenegro: Too few versioned services (9)
- Madagascar: Too few versioned services (8)
- Mauritania: Too few versioned services (8)
- Papua New Guinea: Too few versioned services (8)
- San Marino: Too few versioned services (8)
- Brunei: Too few versioned services (7)
- Trinidad and Tobago: Too few versioned services (7)
- Virgin Islands: Too few versioned services (7)
- Benin: Too few versioned services (6)
- Saint Vincent and the Grenadines: Too few versioned services (6)
- Suriname: Too few versioned services (6)
- Tonga: Too few versioned services (6)
- RÃĐunion: Too few versioned services (5)
- French Polynesia: Too few versioned services (4)
- Congo, Democratic Republic of the: Too few versioned services (4)
- Barbados: Too few versioned services (4)
- Belize: Too few versioned services (4)
- Haiti: Too few versioned services (3)
- Guam: Too few versioned services (3)
- Martinique: Too few versioned services (3)
- Curaçao: Too few versioned services (3)
- Mozambique: Too few versioned services (3)
- Cuba: Too few versioned services (2)
- Saint Lucia: Too few versioned services (2)
- Isle of Man: Too few versioned services (2)
- Sudan: Too few versioned services (2)
- Timor-Leste: Too few versioned services (2)
- Yemen: Too few versioned services (2)
- Kosovo: Too few versioned services (2)
- Guyana: Too few versioned services (2)
- Samoa: Too few versioned services (2)
- Cabo Verde: Too few versioned services (2)
- Congo: Too few versioned services (2)
- Greenland: Too few versioned services (2)
- Jersey: Too few versioned services (2)
- Cook Islands: Too few versioned services (1)
- French Guiana: Too few versioned services (1)
- Niger: Too few versioned services (1)
- Turks and Caicos Islands: Too few versioned services (1)
- Burundi: Too few versioned services (1)
- New Caledonia: Too few versioned services (1)
- Equatorial Guinea: Too few versioned services (1)
Source: Shodan host counts, Oct 21, 2026. X-Powered-By and Apache Server headers, counted per patch version.
By provider
| Provider | Versioned services | On 8.1 or older | Share |
|---|---|---|---|
| Amazon | 407,170 | 327,547 | 80% |
| Hostinger | 139,557 | 41,394 | 30% |
| Alibaba Cloud | 110,728 | 105,549 | 95% |
| OVH | 62,020 | 41,503 | 67% |
| Hetzner | 58,611 | 31,420 | 54% |
| DigitalOcean | 52,885 | 37,180 | 70% |
| Cogent | 35,510 | 30,091 | 85% |
| Telecom Algeria | 28,105 | 28,105 | 100% |
| 25,199 | 19,064 | 76% | |
| Microsoft | 24,610 | 19,054 | 77% |
Amazon hosts the most PHP services, and its own Linux will not fix some of them: Amazon lists "No Fix Planned" for the core PHP in Amazon Linux 2 and for PHP 8.1 in Amazon Linux 2023. All Amazon, Alibaba and OVH network names are combined. Shared hosting puts many websites on one IP address, so far more websites are affected than services. Some distribution packages fix the flaws without changing the version number, so a version banner alone does not prove a service is vulnerable.
PHP services on 8.1 or older, by provider
Providers with the most versioned PHP services. Amazon, Alibaba and OVH network names combined.
- On 8.1 or older
- Amazon
- 327,547 (On 8.1 or older)
- Alibaba Cloud
- 105,549 (On 8.1 or older)
- OVH
- 41,503 (On 8.1 or older)
- Hostinger
- 41,394 (On 8.1 or older)
- DigitalOcean
- 37,180 (On 8.1 or older)
- Hetzner
- 31,420 (On 8.1 or older)
- Cogent
- 30,091 (On 8.1 or older)
- Telecom Algeria
- 28,105 (On 8.1 or older)
- 19,064 (On 8.1 or older)
- Microsoft
- 19,054 (On 8.1 or older)
Source: Shodan host counts, Oct 21, 2026, from the same per-version queries. One IP address can serve many shared-hosting websites.
Apache mod_php: the highest-risk setup
Only mod_php adds a PHP/x.y.z token to Apache's Server header. With that token, we count at least 565,000 internet-facing mod_php services. Of those that show the version only in the Server header, 83% run PHP 8.1 or older. The real number is higher, because Debian and Ubuntu hide this token by default.
How fast are servers patching?
At 22:05 UTC on Oct 23, about two days after release, Shodan saw a fixed version on 62,449 of about 601,000 services that report PHP 8.2 to 8.5 in the X-Powered-By header (10.4%). PHP 8.5 leads, and 8.2 lags:
| Branch | Services | On the fixed version | Share |
|---|---|---|---|
| PHP 8.5 | 65,192 | 11,296 | 17.3% |
| PHP 8.4 | 86,543 | 10,675 | 12.3% |
| PHP 8.3 | 230,313 | 25,822 | 11.2% |
| PHP 8.2 | 219,345 | 14,656 | 6.7% |
| Total | 601,393 | 62,449 | 10.4% |
Source: Shodan host counts, Oct 23, 2026, 22:05 UTC. Branch totals count "X-Powered-By: PHP/8.x."; fixed counts are the exact fixed version.
The largest counts of fixed services are on Amazon (about 8,600 across its networks), Hetzner (3,210), OVH (2,012), DigitalOcean (1,695) and Cloudflare (1,667) addresses. Hostinger hosts about 45,600 services that report PHP 8.3, and Shodan still sees none on 8.3.36. Hostinger says the fix is installed on all its hosting servers except VPS, so it may have patched without changing the reported version.
On Oct 21 at 21:42 UTC, about eight hours after release, Shodan saw a fixed version on 2,149 of about 606,000 services that report PHP 8.2 to 8.5 in the X-Powered-By header (0.36%). The count was 103 at 15:22, 144 at 15:52 and 312 at 17:15 UTC. It grows as Shodan scans servers again, so it lags real patching. Distribution packages that keep the old version number do not show up here.
Updates
| Time (UTC) | Update |
|---|---|
| Oct 20, ~15:00 | CVE IDs leak online with a wrong release date and a wrong CVSS of 10.0 |
| Oct 20, 19:30 | PHP pre-announces the release and moves it forward to Oct 21 |
| Oct 20, ~20:00 | A reporting research firm mistakenly publishes a demonstration video; copies spread |
| Oct 20, 22:15 | First published |
| Oct 21, 07:41 | Chainguard publishes fixed images six hours ahead of the coordinated release |
| Oct 21, 07:43 | Cloudflare reports early attacks and deploys WAF rules |
| Oct 21, 13:34 | PHP publishes the security advisories; fixed releases follow |
| Oct 21, 13:56 | Cloudflare reports attack traffic and payload changes |
| Oct 21, 15:53 | Red Hat ships its first fix (RHEL 8.10 EUS, php:7.4) |
| Oct 21 | Palo Alto Networks: PAN-OS and Panorama affected, no fix yet |
| Oct 21, 16:20 | Netgate: fixed PHP packages available for pfSense |
| Oct 21, 18:30 | Updated: fix released, exploitation reports, corrected exposure counts, mod_php, patch-rate and appliance data |
| Oct 21, 18:47 | Laravel Cloud finishes patching all regions |
| Oct 21, 19:49 | Pantheon patches all live sites on PHP 8.2 to 8.5 |
| Oct 21, 23:15 | Updated: Am I affected? checklist, PHP status table for 58 products, SBOM findings, scanner coverage, Amazon Linux, patch rate, Ubuntu 14.04, managed platforms, and fix status for Red Hat, SUSE, remi, Fedora, Azure, OVH, DigitalOcean, Hostinger, GoDaddy, Sophos, Fortinet, F5, Citrix and cPanel |
| Oct 22, 07:20 | Hostinger: fix installed on all hosting servers except VPS |
| Oct 22, 09:11 | PHP: a reported PHP 8.5.12 crash is unrelated to the RCE, not a fix bypass |
| Oct 22 | Amazon reports a PHP2Shell attempt in its honeypots on Oct 17, four days before disclosure |
| Oct 22 | Synology, QNAP, Citrix (CTX697263), Centreon, HestiaCP, Unraid and ownCloud publish advisories or fixes |
| Oct 22 | UK government: 32 services unavailable, largely as a precaution; no confirmed compromise of central government systems |
| Oct 22, 21:21 | Sophos corrects its report: exploitation attempts failed, no evidence of compromise |
| Oct 22, 22:07 | Kevin Beaumont: Palo Alto firewall VMs, NetScaler and HPE System Management Homepage run PHP with ASLR off |
| Oct 23, 03:45 | Palo Alto Networks publishes hotfix dates of Oct 26 to 30 |
| Oct 23, 10:12 | PHP discloses CVE-2026-115560 and recommends session.upload_progress.enabled=0 until the next release |
| Oct 23 | SANS ISC: no reliable public exploit. Juniper, Trend Micro, Cisco and F5 update advisories; Plesk panel and Fedora 45 fixed |
| Oct 23, 18:30 | Check Point ships hotfixes for Mobile Access and SSL Network Extender |
| Oct 23, 21:30 | VulnCheck: its private exploit now covers PHP 8.4.10 to 8.4.26 and 8.5.10 to 8.5.11 under mod_php |
| Oct 23, 22:30 | Updated: Oct 23 summary, CVE-2026-115560, exploitation and exploit status, patch rate (10.4%), product table, distribution and hosting fix status, scanner re-check |
| Oct 24, 02:52 | Trail of Bits: its private exploit is "production-grade" on stock settings with ASLR, on mod_php and PHP-FPM |
| Oct 24, 00:01 | Palo Alto Networks expands Threat Prevention signatures; hotfixes still due Oct 26 to 30 |
| Oct 24, 04:15 | Updated: Trail of Bits and VulnCheck exploit capability, VulnCheck canary observations, Palo Alto status, HPE, Extreme Networks and Huawei advisories |
Sources and method
- PHP project: security release announcement, October 21, 2026; advisories GHSA-w8hw-w9fx-j79w and GHSA-6wmf-4rv5-p3rp
- PHP Foundation: Today's PHP security release
- Exploitation reports: Cloudflare, watchTowr, Patchstack, CloudLinux / Imunify360, Huntress, Sansec, CISA KEV
- Oct 22 to 23 exploitation and exploit reports: Amazon, Imperva, Check Point, Sophos, cowrAI, VulnCheck, Trail of Bits (Dan Guido), SANS ISC 33450 and 33452, Kevin Beaumont, NCSC-NL, Basel-Stadt, UK House of Lords (Hansard, Oct 22).
- CVE-2026-115560: PHP informational advisory, Oct 23, 2026. Fix-bypass clarification: oss-sec.
- Affected range: NVD CVE-2026-109618, NVD CVE-2026-109619, Wiz, Calif, Google Cloud GCP-2026-070
- Patch status:
- Distributions: Debian, Ubuntu, Red Hat Bugzilla, SUSE Bugzilla, Amazon Linux, Fedora, Red Hat VEX, SUSE, remi, AlmaLinux, Rocky Linux.
- Red Hat errata: RHSA-2026:87070, RHSA-2026:87071, RHSA-2026:87072, RHSA-2026:87079, RHSA-2026:87080, RHSA-2026:87151.
- Appliances and products: Palo Alto Networks, Netgate forum, Sophos, Fortinet, F5, Citrix, Synology advisories, Synology packages, QNAP advisories, mailcow, HestiaCP, Coolify, OPNsense packages, XAMPP downloads. Container image PHP versions were read from the image configuration in Docker Hub.
- AWS: security bulletin 2026-143-AWS; Elastic Beanstalk: Oct 21 PHP platform release.
- Control panels: cPanel, cPanel & WHM 136, DirectAdmin, Plesk, CloudLinux.
- Cloud and hosting platforms: Heroku, Hetzner, One.com, OVHcloud, Azure App Service, Laravel Cloud, Pantheon, Kinsta, Bref, FrankenPHP, Clever Cloud, DigitalOcean, Hostinger, GoDaddy, WP Engine, SiteGround, Vercel community PHP runtime.
- Service counts: Shodan
/shodan/host/count, Oct 21, 2026, 16:04 to 16:22 UTC.- Every patch version from 4.0 to 8.5 was queried separately, in two forms:
"X-Powered-By: PHP/<version>", and ApacheServerheaders that carry aPHP/<version>token with noX-Powered-Byheader. - Country and provider tables come from the same queries.
- Counts are IP and port pairs that Shodan has seen recently, not unique organizations.
- Our Oct 20 version used one query per branch (
"X-Powered-By: PHP/<major.minor>"). That form undercounts for several branches. For example, it returned 71,183 services for 7.4, but 7.4.33 alone has 225,173.
- Every patch version from 4.0 to 8.5 was queried separately, in two forms:
- Cross-check: Netlas, index 2026-09-29, IP responses only. Netlas finds 75.9% of versioned PHP services on 8.1 or older.
- Appliance counts: Shodan
/shodan/host/count, Oct 21, 18:00 to 18:20 UTC, by login-page title or favicon hash. FreePBX PHP versions come from theX-Powered-Byheader. - Patch rate: Shodan counts of
"X-Powered-By: PHP/<fixed version>"at 15:22, 15:52, 17:15 and 21:42 UTC on Oct 21, and 22:05 UTC on Oct 23, with an organization facet for the provider split. The 21:42 UTC and Oct 23 denominators count"X-Powered-By: PHP/8.x."for 8.2 to 8.5 at the same time. Ubuntu 14.04 counts use the"X-Powered-By: PHP/5.5.9-1ubuntu4"banner. Branch totals were counted at 15:52 UTC. - Product table: vendor advisories, release notes, package repositories, staff forum posts and container image configurations, checked October 21 between 22:40 and 23:00 UTC, and rechecked October 23 between 22:04 and 22:15 UTC. Rows link their source where one exists. The "Runs PHP for web requests" column says Yes only when a vendor document, source code, package list or image configuration shows it.
- SBOM search: public SBOM portals, vendor security pages and searches for 223 products. We inspected each downloaded SBOM for a PHP interpreter component.
- Scanner test: October 21, about 21:45 UTC. GitHub global advisory API, OSV API and Packagist advisory API queried for both CVEs. Trivy 0.76.1, Grype 0.121.0 and OSV-Scanner 2.7.0 run against the official
php:8.3.35-apacheandphp:8.3.36-apacheimages.
Find the PHP services that won't get a fix
Mallory maps PHP2Shell (CVE-2026-109618 and CVE-2026-109619) to your attack surface and tracks exploits and attack activity as they appear.
Start Free Trial


