Not php.net · Not NVD · Not CISA

PHP Vulnerability Tracker

Unofficial briefing on PHP security vulnerabilities

English简体中文

Security alert

PHP2Shell: upgrade PHP. That is the only complete fix.

CVE-2026-109618 and CVE-2026-109619 are critical, unauthenticated remote-code-execution bugs in PHP itself. The PHP project shipped fixes on 21 October 2026 for the supported 8.2–8.5 branches. Restart PHP after you upgrade. A firewall is not a substitute.

Remediation steps

Affected versions

Which PHP versions are affected by PHP2Shell?

The only upstream release numbers that close both CVEs are PHP 8.5.12, 8.4.27, 8.3.36, and 8.2.35, or a later version in the same branch. Everything about older branches needs a qualifier, because the public write-ups do not use one identical range.

Last updated

Upstream status after the 21 October 2026 releases. “Fixed” means an official PHP release exists, not that your packages have already picked it up.
BranchStatus in the sources we citeUpstream fix
8.5 before 8.5.12Listed by the PHP security team as affected8.5.12
8.4 before 8.4.27Listed by the PHP security team as affected8.4.27
8.3 before 8.3.36Listed by the PHP security team as affected8.3.36
8.2 before 8.2.35Listed by the PHP security team as affected8.2.35
8.1No official release. PHP says it published a minimal source backport.Upgrade, or a vendor / source backport you verify
8.0 and 7.4Same as 8.1: source backports, no new upstream release.Upgrade, or a vendor / source backport you verify
7.3 and older, down through 5.4Wiz, Google Cloud, and Cloudflare describe impact from 5.4. Expel says PHP has not stated whether 7.3 and older are affected.No upstream fix in these lines. Plan to leave them.
PHP 5 before 5.4Not the lower bound in the Wiz, Google Cloud, or Cloudflare wording. watchTowr’s pre-advisory FAQ said PHP 5 generally.Do not keep it on the internet. This row is uncertain, not a clean bill of health.

One branch at a time

Example: 8.3.35 or PHP/8.2.34. The patch number is required.

Nothing checked yet. The result stays in your browser.

Why the table has a gap under 8.2

Jakub Zelenka’s oss-security message names the affected versions as the four supported branches before those patch levels. That sentence is about the versions the security team was patching with releases. It is not, by itself, a claim that 8.1 is unaffected. The php.net advisory says 8.1 and older no longer receive updates from the PHP project, points operators at distribution and LTS backports, and says the security team provided minimal source backports for 7.4, 8.0, and 8.1 for people building from source. Publishing a backport is evidence those three branches were in scope. It is not a supported release you can apt-install from php.net.

Wiz says the issues go back to PHP 5.4 and that nearly every version from the past decade is affected by at least one of them. Google Cloud writes “all versions of PHP from 5.4 through 8.5.11.” Cloudflare writes “PHP 5.4 or later.” ThreatCluster notes that session.upload_progress has existed since PHP 5.4.0 and is enabled by default; that feature is one path named for CVE-2026-109619, not a proof that every code path stops at 5.4. watchTowr wrote, on 20 October, that the bugs affect PHP 5, 7, and 8 in their entirety. Expel’s later notice is the cautious correction: early “all of PHP 5” claims ran ahead of the vendor text, 7.3 and older were not explicitly confirmed by PHP in the material Expel reviewed, and end-of-life PHP on the web should be assumed at risk anyway.

The checker is a version-number comparison

It runs entirely in your browser. It does not send the version anywhere. It can tell you whether a triplet is at least 8.2.35, 8.3.36, 8.4.27, or 8.5.12. It cannot tell you whether Ubuntu, RHEL, cPanel, or a container vendor has backported the fix onto an older number. It cannot see which binary your web server actually loaded. After you upgrade, compare php-fpm -v or the Apache module’s build, restart the service, and check again.

Sources

Outbound links leave this site. We do not host exploit code.

  1. News archive 2026: security advisory, 21 October 2026 — PHP project (php.net)
  2. CVE-2026-109618: PHP 8.2–8.5 RCE via OOM corruption — oss-security (Jakub Zelenka, PHP security team)
  3. Today’s PHP security release, and how we’re strengthening PHP security — The PHP Foundation
  4. PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet — Wiz Research
  5. Responding to core PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619 — Google Cloud
  6. Cloudflare deploys protections against php2shell vulnerability — Cloudflare
  7. FAQ: PHP2Shell CVE-2026-109618 and CVE-2026-109619 (published 20 October 2026, updated 22 October 2026) — watchTowr
  8. Notice: php2shell, critical PHP vulnerabilities (status as of 21 October 2026, 20:00 UTC) — Expel
  9. Critical vulnerabilities in PHP require immediate patching (21 October 2026) — CISA
  10. AL26-026 — Critical vulnerabilities impacting PHP — Canadian Centre for Cyber Security
  11. Security advisory: critical unauthenticated RCE in PHP (“php2shell”) — University of Toronto Information Security