Skip to content
Pro IT NW

Blog · 6 min read ·

Share

PHP2Shell: Find the PHP You Did Not Install

The PHP project shipped fixes for two critical remote-code-execution flaws on October 21, 2026 (PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35). PHP 8.2 itself loses security support on December 31, 2026.

ProIT NW, a senior-led Microsoft consultancy in Seattle serving the regulated mid-market, is flagging this for teams that would say they do not run PHP. On October 21, 2026, the PHP project shipped fixes for two critical vulnerabilities, nicknamed PHP2Shell, that can allow unauthenticated remote code execution. You probably don't run websites. You may still run PHP, inside products you bought for other reasons.

Status, as of October 24, 2026. No cited source reports successful exploitation. CISA says it has not observed successful exploitation in the wild as of the time of publication, and neither CVE is in CISA's Known Exploited Vulnerabilities catalog as of version 2026.10.23. That can change quickly, so patch anyway. Everything below is from the primary sources listed at the end.

What the PHP project announced

The php.net advisory says PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 "fix two critical vulnerabilities that can allow unauthenticated remote code execution. All PHP users are strongly encouraged to update immediately." The CVEs are CVE-2026-109618 ("RCE via OOM corruption") and CVE-2026-109619 ("RCE via stale global state"). Both rate Critical, CVSS v4.0 base 9.2.

The advisory's scope is broad: "all PHP installations serving web requests, including PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP and LiteSpeed." The risk is highest for mod_php, "with a demonstrated exploit where an unauthenticated request can trigger the attack before any application code runs." And: "PHP 8.1 and older no longer receive updates from the PHP project."

Step one: find the PHP you did not install

CISA's alert makes the problem plain: "PHP is often a component of other software and prevalence may not be directly observable." The NSA's October 21 advisory puts the same point as an instruction: "All users should immediately conduct an inventory, where feasible, of hardware/software services reliant on now-vulnerable PHP versions." It also lists "Replacing end-of-life PHP services which will not be compatible with patching" among the additional steps to consider. For a regulated mid-market organization, that usually means:

  • Network and security appliances. Firewall and firewall-management web interfaces, and network access control (NAC) servers.
  • Management consoles. Antivirus and endpoint management consoles, backup consoles, and NAS web interfaces.
  • Windows servers. Legacy line-of-business and intranet applications running PHP under IIS FastCGI, forgotten XAMPP, WampServer or Laragon installs, and vendor-bundled php-cgi.exe.

You can search Windows servers for php.exe and php-cgi.exe yourself. For appliances you can't look inside, the evidence is the vendor's statement. The Dutch NCSC maintains a community tracker of vendor statuses at github.com/NCSC-NL/php2shell. As of October 23 it listed HPE Networking ClearPass Policy Manager as vulnerable (6.14.0 and below, and 6.11.15 and below; 6.14.1 and 6.11.16 are partially mitigated and still affected), and Cisco Expressway Select Series as vulnerable. Statuses change, so check the tracker itself rather than this paragraph.

Step two: you can't patch what the vendor hasn't shipped

On an appliance, the PHP version is the vendor's decision. Palo Alto Networks is a useful example, because its advisory states the case precisely. PAN-OS 10.2, 11.1, 11.2, 12.1 and 12.2 are affected, on "PA-Series and VM-Series firewalls and on Panorama (virtual and M-Series)." "No special configuration is required to be affected by this issue." Hotfix releases are listed with ETAs between October 26 and 30, 2026, so as of October 24 none had shipped. Palo Alto says it is "not aware of any malicious exploitation of this issue against our products" rates the issue HIGH for its products, and lists its cloud products such as Cloud NGFW and Prisma Access as not affected.

The same advisory carries the control that applies far beyond one vendor: "The risk is highest on PAN-OS when you allow access to the management interface from external IP addresses on the internet."

Compensating controls while you wait for a vendor fix. Take management interfaces off the internet and allow them only from a hardened jump host. Isolate consoles on a management network segment. Where you control the PHP configuration, set session.upload_progress.enabled=0 in php.ini, the FPM pool or server config and restart every worker (php.net: "Do not rely on ini_set() or FPM .user.ini"). Treat a WAF in front of a web interface as one more layer, not a fix. php.net says interim measures "reduce exposure to specific attack paths but do not make an installation safe". Only updating is complete.

CISA's guidance is stricter: "Organizations that cannot update immediately, or that continue to use PHP 8.1 or earlier unsupported versions, should take PHP-based systems offline until they can be patched or updated." CISA also advises you to "Monitor for suspicious activity, including PHP worker processes launching shells or downloading tools," and its October 23 revision added a SIGMA detection rule. On an unsupported version, php.net's advice is to contact your vendor, as "some distributions and LTS vendors provide backported fixes" or upgrade. The PHP security team also provided minimal source-only backports for PHP 7.4, 8.0 and 8.1, which are useful only if you build PHP from source.

What about Windows and IIS?

Patch Windows PHP too: php.net says "Windows source and binaries are on the same page." Be honest about the evidence, though. The advisories report a confirmed exploit against Apache mod_php, and one path for CVE-2026-109619 validated against PHP-FPM with a suitable application (GHSA-6wmf-4rv5-p3rp says "validated against mod_php and FPM," and that the FPM path "depends on a suitable application operation"). For CVE-2026-109618, GHSA-w8hw-w9fx-j79w says "no complete FPM exploit has been demonstrated for this SAPI." They do not report an exploit through IIS FastCGI, but php-cgi, which IIS FastCGI runs, is explicitly in scope. Patch it. The evidence should shape your order of work, not your decision.

The second deadline: PHP 8.2 on December 31, 2026

Per php.net's supported versions page, PHP 8.2 has security support until December 31, 2026. 8.3 runs until December 31, 2027, 8.4 until December 31, 2028 and 8.5 until December 31, 2029. If your inventory turns up 8.2, 8.1 or older, the application is on borrowed time. Moving a legacy Windows line-of-business app off an end-of-support runtime is a project, so start it now.

One more item, so you don't overreact to it: on October 23, php.net published an informational advisory about CVE-2026-115560, "an unlikely RCE vector" that "can only occur under an unusual combination of configuration and application code". It will be fixed in the next regular release. In the meantime php.net suggests keeping session.upload_progress.enabled=0.

What to do this week

  1. Ask the vendor of every appliance and console for its PHP2Shell statement, and check the NCSC tracker.
  2. Search Windows servers for php.exe and php-cgi.exe, including old XAMPP, WampServer and Laragon folders.
  3. Restrict management interfaces to a jump host. Remove any exposure to the internet.
  4. Patch to the fixed PHP builds (8.5.12, 8.4.27, 8.3.36 or 8.2.35) or to the vendor hotfix when it ships.
  5. Plan off PHP 8.2 and anything older before December 31, 2026.
  6. Keep session.upload_progress.enabled=0 where you control it, pending the next PHP release.
  7. Record what you found, who you asked and when. An auditor will ask how you knew.

The 30-second version

Two critical PHP flaws (CVE-2026-109618 and CVE-2026-109619) allow unauthenticated remote code execution, with fixes shipped October 21, 2026. No cited source reports successful exploitation: CISA had not observed it as of publication and neither CVE is in the KEV catalog as of version 2026.10.23. Patch anyway. Your exposure is likely inside products you didn't install as PHP: firewalls, NAC, consoles and legacy Windows apps. Inventory first, press vendors for statements, close off management interfaces, and move off PHP 8.2 before December 31. If you'd like a senior engineer to help build that inventory, the project intake form takes about three minutes.

Sources and further reading


Pro IT NW handles identity, security and compliance work for the regulated mid-market in Seattle and the Pacific Northwest. Vendor-neutral, labor-only. This alert relays the PHP project's, CISA's and Palo Alto Networks' published guidance; confirm current status at those sources before you act, as it may be revised.

Questions we get asked

Is PHP2Shell being actively exploited?
No cited source reports successful exploitation. CISA's alert says it has not observed successful exploitation of these vulnerabilities in the wild as of the time of publication, neither CVE-2026-109618 nor CVE-2026-109619 is in CISA's Known Exploited Vulnerabilities catalog as of version 2026.10.23, and Palo Alto Networks says it is not aware of any malicious exploitation against its products. That status can change. Patch anyway: both flaws are critical, unauthenticated, and the PHP project reports a confirmed exploit against Apache mod_php.
We don't host websites. Are we exposed?
Possibly. The PHP project says all PHP installations serving web requests are at risk, and CISA notes that PHP is often a component of other software and its prevalence may not be directly observable. If a firewall, management console, NAC appliance, backup console or legacy intranet app serves a web interface, it may be running PHP you never installed. Ask each vendor, and check the Dutch NCSC's community tracker for vendor status.
Does this affect PHP on Windows and IIS?
Patch it. The PHP project published patched Windows binaries on October 21. The advisories report a confirmed exploit against Apache mod_php and do not report one through IIS FastCGI, but php-cgi, which IIS FastCGI runs, is explicitly in scope. Unproven on your platform is a reason to sequence the work, not to skip the update.
What happens to PHP 8.2 after December 31, 2026?
It stops receiving security fixes. Per php.net's supported versions page, 8.2 has security support until December 31, 2026; 8.3 runs to December 31, 2027, 8.4 to December 31, 2028 and 8.5 to December 31, 2029. PHP 8.1 and older already receive no updates from the PHP project, apart from minimal source-only backports for PHP 7.4, 8.0 and 8.1 that help only if you build PHP from source. Plan the move before the date, not after the next advisory.

Written by the team at · Senior-led Microsoft project consultancy · Seattle and the Pacific Northwest, delivered USA-wide.

Do you know which of your servers and appliances are running PHP?

Senior Microsoft engineers based in the Pacific Northwest — onsite around Puget Sound, remote anywhere in the US. Tell us the environment and the deadline, and we'll scope it as a fixed-fee project.