Threat intelligence / 22 October 2026

The PHP RCE
without the noise.

A concise, source-backed briefing on two critical vulnerabilities in the PHP engine. What is affected, what is confirmed, and what defenders should do now.

✓ Facts cross-checked against PHP, NCSC-NL and independent security research
Incident snapshotMonitoring
Attack vectorRemote / unauthenticated
AffectedPHP 5.4 through 8.5
Disclosure21 Oct 2026
Current signalTarget-specific exploitation
Vulnerabilities02CVE-2026-109618 / 109619
AuthenticationNoneRemote request can trigger the flaws
Fixed branches048.2, 8.3, 8.4 and 8.5
PriorityPatch nowEspecially internet-facing PHP
01 / The vulnerability

Two bugs. One critical chain.

The vulnerabilities sit in PHP itself, so clean application code does not remove the risk. Web frameworks, content-management systems and embedded products inherit exposure from the runtime.

01
CVE-2026-109618

Memory corruption during request cleanup

Remote code execution through out-of-memory corruption as PHP cleans up a crafted request. The flaw crosses the boundary between a failed request and unsafe engine state.

ClassMemory corruptionImpactRCE
02
CVE-2026-109619

Stale global state reused by another request

Request-owned global state can survive and poison a later request handled by the same worker process.

ClassState reuse
Broad runtime exposure

Not just websites

PHP-FPM, Apache mod_php, php-cgi, FrankenPHP and LiteSpeed are in scope. PHP also ships inside appliances, admin interfaces and vendor products where operators cannot update the runtime directly.

mod_phpPHP-FPMCGILiteSpeed
What is confirmed

Exploitation exists, but this is not a universal one-request exploit.

  • 01Cloudflare reported attempts at 07:43 UTC on 21 October, before public fixes.
  • 02Sansec's 22 October update says public PoCs fail against default PHP installations and need target-specific knowledge.
  • 03No universal request comparable to Log4Shell or Shellshock has been demonstrated. That does not reduce the need to patch.
02 / Response

Move to a fixed PHP build.

Temporary mitigations reduce some exposure, but the security update is the only complete response documented by the PHP project.

Supported fixed versions

Released 21 October 2026 at 14:00 UTC

PHP 8.58.5.12Fixed
PHP 8.48.4.27Fixed
PHP 8.38.3.36Fixed
PHP 8.28.2.35Fixed
1

Inventory

Find public PHP endpoints, containers, appliances and management interfaces. Record the runtime, SAPI and update owner.

2

Patch

Deploy the fixed PHP release or your distribution/vendor's backported package. PHP 8.1 and older are upstream end-of-life.

3

Investigate

Review internet-facing logs and unexpected worker behavior. Track vendor advisories for products that bundle PHP.

!

If patching is delayed

Disable session.upload_progress, restart workers and follow PHP's memory_limit, post_max_size and 8.5 backtrace guidance. These are partial mitigations, not fixes.

03 / Timeline

From private report to public incident.

A compressed chronology based on public advisories and incident research.

Private disclosure

Wiz reports the vulnerabilities to PHP

The coordinated remediation process begins before public awareness.

Details leak

Remote code execution independently confirmed

watchTowr confirms RCE as vulnerability details become public.

07:43 UTC / exploitation

Cloudflare observes early attack activity

Attempts appear before the coordinated release of fixed PHP builds.

14:00 UTC / patches

PHP publishes four fixed branches

Calif, Wiz, OpenAI and PHP coordinate disclosure. NCSC-NL and CERT-EU publish operational guidance.

Updated assessment

Mass exploitation judged less likely

Public PoCs require specific conditions and fail on default installations. The patch recommendation does not change.

04 / Community watchlist

Websites under review.

A source-backed list of sites reported potentially compromised or unavailable during the incident. Do not authenticate, submit information or trust content while an entry is marked AVOID or DOWN.

XLS
Live workbook (macro)itfactly-affected-sites.xlsmLive data · instructions · changelog
↓
Live datasetUpdated loading… ·
Loading verified entries…

Editorial policy Every entry requires a public, citable source and timestamps. Entries are moved to CLEARED after verification. The current workbook may contain visibly labelled EXAMPLE.COM rows while verified reports are being collected.

05 / Beyond the incident

Four facts from computing history.

Because information technology is larger than the incident of the day.

1947

The literal computer bug

A moth found in relay #70 of Harvard's Mark II was taped into the logbook. Grace Hopper helped popularise the story.

1985

The first .com

symbolics.com became the first registered .com domain on 15 March, years before the public web.

1991

The first website

Tim Berners-Lee published the first site at CERN. It described the World Wide Web and how to build a browser.

1995

PHP arrives

PHP originally meant “Personal Home Page”. It later became the recursive “PHP: Hypertext Preprocessor”.

06 / Source trail

Verify the briefing.

Primary operational guidance first, independent analysis second.

itfactly.com is an independent informational publication and is not affiliated with the PHP project or named vendors. Use official vendor advisories for operational decisions. Watchlist entries reflect cited third-party reporting and are labelled accordingly.