Incident file CVE-2026-109618 · CVE-2026-109619 Research cut-off 23 October 2026, 13:58 UTC

PHP2Shell: verified updates, fixes and timeline

Two critical PHP runtime flaws, disclosed together on 21 October 2026. This record separates what the PHP project confirmed, what security vendors observed, and what remains unestablished. Every key claim links to the original source.

Patch8.2.35 · 8.3.36 · 8.4.27 · 8.5.12
ExploitationAttempts observed; no confirmed mass compromise
Updated23 October 2026, 13:58 UTC

Independent publication. Not affiliated with PHP, any security vendor or any government agency. No exploit code is published here.

Diagram of the cross-request state path in CVE-2026-109619: request A hits an out-of-memory bailout, its request heap is freed, worker globals keep a stale pointer, and request B reads that stale state.
Figure 1 — Cross-request state in CVE-2026-109619, not the separate in-request OOM path of CVE-2026-109618. Illustrative, not an exploit chain. Original diagram · PHP2Shell Live

01 Current assessment

What is established now

Full dossier →
Confirmed impact

Two memory-safety flaws in the PHP runtime allow unauthenticated remote code execution in affected configurations. The flaws are below the application layer: updating a CMS or plugin does not remove exposure.

PHP Group GitHub / PHP Security Team GitHub / PHP Security Team
Patch status

Fixed upstream in PHP 8.2.35, 8.3.36, 8.4.27 and 8.5.12. PHP 8.1 and older have no upstream release; source backports exist and distributions may backport the fix without changing the visible version string.

PHP Group PHP Group CERT-EU
Exploitation evidence

Attempts were observed before the patch, and attack traffic rose sharply after disclosure. Public reporting reviewed here documents attempts, PoCs and laboratory exploitation, not a confirmed mass compromise. Attempts are not victim counts.

SecurityWeek Cloudflare Bitdefender
KEV status

Neither PHP2Shell CVE appears in CISA KEV catalog version 2026.10.21, checked 23 October 2026, 13:52 UTC. This is a catalog observation, not proof that exploitation never occurred.

CISA
Last update

— the record adds a source-bounded early assessment of the patch, exploitation reports and unresolved questions. The build time is shown separately in the footer.

Read the early assessment →

02 Latest updates

Latest PHP2Shell updates

New facts, corrections and open questions from the last day of reporting.

All updates →

Early assessment: patches, attempts and unresolved questions

What the first day of PHP2Shell reporting established: the fixes are confirmed, attempts are documented, exposure estimates disagree, and no confirmed mass compromise has been publicly established.

AssessmentPHP2ShellEvidence

03 Timeline

How the record developed

Full timeline →
  1. 23 October 2026
    PHP flags an unpatched session-upload RCE as a separate issue Advisory
  2. 23 October 2026
    Attack traffic reaches millions; successful exploitation still unconfirmed Exploitation report
  3. 22 October 2026
    Researchers flag fake PoCs, prank repositories and an unconfirmed AWS claim Research
  4. 22 October 2026
    Exposure estimates vary widely; they are host counts, not victim counts Research
  5. 21 October 2026, 03:02 UTC
    Cloudflare activates managed WAF rules about nine hours before disclosure Mitigation

05 Sources and verification

Sources and verification

Source directory →

What “confirmed” means

At least one primary source — a vendor advisory, a release note or a government alert — supports the claim.

What “reported” means

A vendor or media organisation reports it. The claim is attributed and not promoted to confirmed on repetition.

What “not established” means

The sources reviewed do not support it. This is a boundary of the search, not proof that the opposite is true.

Search PHP2Shell Live

Type to search the local index Results stay in your browser
↑ ↓ move Enter open Esc close