Pular para o conteúdo
← Back to Skalablog

Published article

PHP Vulnerabilities: Patch 8.2 Now

Software Engineering

The two PHP vulnerabilities disclosed in October 2026 affect any PHP release from 5.4 onward, according to SANS instructors speaking on an emergency webcast. Patches cover supported PHP 8.2 and later branches only, so the immediate job is finding every PHP instance you run and confirming which branch each one loads.

What Were the October 2026 PHP Vulnerabilities?

The October 2026 PHP vulnerabilities are two separate memory-safety flaws in the PHP interpreter, the server-side scripting language behind WordPress and many other web applications, and SANS associates them with possible remote code execution when bugs are chained. SANS Institute is a security training organization that hosted an emergency webcast on 21 October 2026 with instructors Moses Frost and Rich Greene.

The webcast, published on 21 October 2026, followed a disclosure the previous day. Frost described the root cause as an out-of-memory condition that leaves dangling pointers, which an attacker can turn into write primitives and code execution. He said PHP instances from version 5.4 onward are affected in some form and that exploitation needs no authentication.

Treat those specifics as early findings. Frost said the write-ups were still being assembled during the broadcast, and the quantitative rating of 9.2 out of 10 came from the SANS framing rather than a number read off a published advisory during the session. The practical takeaway is architectural: PHP has a forgiving engine that keeps running after errors, and that tolerance has a security cost.

Which PHP Versions and Deployments Are Exposed?

Patches exist only for supported PHP branches, 8.2 and later, while PHP 5 and PHP 7 and anything older receive no fixes, so exposure depends on both the version and the deployment model. PHP 8.2 is a release branch of the PHP language that still receives security maintenance; PHP 5 and PHP 7 reached end of life and no longer get security releases.

Deployment model matters because the web server integration decides how requests reach the interpreter. The old Apache module embedded PHP directly inside the Apache HTTP Server process and was never an official PHP project implementation. PHP-FPM is the official FastCGI process manager that other web servers use to hand requests to PHP.

Frost advised treating version banners as unreliable. Systems can hide PHP while still running the interpreter, so the check that counts is looking for a running PHP executable on the host rather than reading a response header. Containers need the same treatment: confirm the new image is actually running, because pulling an image does not replace an already-running container.

Any operating system can host the interpreter. When an audience member asked whether Linux or Windows was affected, both speakers said the flaw is not tied to one platform.

Where PHP Hides in Your Estate

PHP runs in far more places than public websites, and the internal copies are where inventory usually fails. Frost listed content management systems, customer relationship management software, network monitoring tools such as Nagios and LibreNMS, and firewall and gateway management interfaces among the systems that can embed the interpreter.

The examples matter more than the list. Management interfaces on network appliances are rarely scanned as web applications, and they typically sit inside the network where segmentation is weak. Greene said the immediate pressure is external, but Frost said penetration tests routinely find internal PHP systems.

The table below separates the deployment types Frost described and what each one implies for patching.

Apache mod_php vs PHP-FPM: What Changes

Both Apache mod_php and PHP-FPM reach the same vulnerable interpreter, so the difference is in how the request arrives and who can patch it, not in whether the memory bug exists. That distinction decides whether your team can deploy a fix directly or must wait for a vendor.

DeploymentWhat it isWho ships the fixPractical implication
Apache mod_phpPHP embedded in the Apache HTTP Server processYour platform or distribution maintainersCommon on older stacks; upgrade path may break application code
PHP-FPMOfficial PHP FastCGI process manager used by Nginx and other serversYour team, or your hosting providerVersion check per worker pool is straightforward with php -v
Vendor appliancePHP embedded in an appliance or management interfaceThe appliance vendorYou cannot patch the interpreter yourself; segment and restrict access
Shared hostingPHP managed by the hosting companyThe hosting providerAsk for evidence, then verify from outside

How to Patch and Verify the Fix

Patching means installing a fixed PHP 8.2 or later release on every worker, container, and pool, then proving the running process reports the new version rather than assuming a deploy succeeded. Frost recommended running the php -v version check across containers because it reads the interpreter that is actually executing.

A workable order, taken from the webcast:

  1. Inventory PHP externally first, then internally, using an asset inventory or attack surface management tool rather than banners alone.

2. Patch supported PHP 8.2 and later instances, stopping and starting containers so the new image actually runs.

3. Confirm the version per container and per host, then re-scan from outside to check what an attacker would see.

4. For appliances, apply vendor patches when released, and restrict management interfaces to trusted networks in the meantime.

5. For unsupported branches, plan the upgrade; Frost said moving from PHP 5 to PHP 8 is not a drop-in change and will break application code, so budget for testing.

On shared hosting, the owner cannot patch the interpreter. Frost suggested asking the host for evidence and then running an external scan of your own site, with the host's permission, as the check you control.

Temporary Mitigations and Their Trade-offs

Temporary mitigations can reduce exposure while patching is blocked, but each one shifts risk rather than removing it. Frost described the flaw as tied to multipart uploads with session upload progress, which gives defenders a narrow set of controls to disable that path.

Mitigations discussed in the webcast:

  • Block or filter multipart form uploads where the application does not need them, and apply web application firewall rules that target the upload path. Frost warned that researchers were already working around WAF rules, so treat filters as a delay.
  • Disable session upload progress in the PHP configuration, the setting Frost called session upload progress, and consider disabling backtraces so memory-based exploit steps fail.
  • Raising or removing the memory limit reduces the out-of-memory condition that triggers the bug, but it opens the door to denial-of-service and other application faults. Frost called this a real trade-off.
  • Enable request logging and backtraces to record exploit attempts, accepting that the volume can fill a temporary filesystem on busy hosts.

For appliance management interfaces, the control that scales is network access: move them off the open internet and apply zero-trust restrictions so unrelated internal hosts cannot reach them.

Detecting Exploitation in Logs

Detection depends on request method, because a POST request body is not logged by default while GET requests and their parameters usually are. That gap means an attacker can exploit an upload path and leave only a bare POST line in the access log, which is why Frost demonstrated an exploit that showed almost nothing beyond POST entries and an anomalous worker exit.

Signals worth alerting on, per the webcast:

  • A sharp rise in POST requests from one source, which indicates scanning even when exploitation is unclear.
  • Worker processes dying with out-of-memory aborts after a burst of POSTs, which Frost called the biggest tell.
  • Web server processes spawning unexpected children such as curl or bash, or opening outbound connections that look like reverse shells.
  • New or unfamiliar files written to the webroot or temporary directories.

Frost compared the visibility problem to Log4Shell, the 2021 Java logging flaw where exploitation was hard to confirm from logs. He said it will take time to learn how widely these PHP vulnerabilities were exploited. Greene noted that some organizations in the EU took systems offline as a precaution, and both speakers said that decision was taken before any confirmed compromise data existed.

For incident responders, tracking outbound connections from web servers remains useful, since normal web servers make few outbound connections and any unusual one deserves review.

FAQ

  • Are PHP 5 and PHP 7 getting patches? No. Frost stated that fixes target supported PHP 8.2 and later branches, and that no patches are coming for PHP 5 or PHP 7. Upgrading an old application from PHP 5 to PHP 8 is a real migration that can break code, so plan it as a project rather than a quick update.
  • Does authentication protect a vulnerable PHP endpoint? No. Frost described exploitation as requiring no authentication. Restricting access with network controls and disabling the upload progress path reduces the attack surface, but neither replaces a patched interpreter.
  • Do I need to rebuild backups of my website? Consider restoring from a pre-disclosure backup if you suspect compromise. Frost warned that a backdoor can sit dormant in a content management system backup and return with a restore, so verify the files after any restore.
  • How do I confirm a container is running the patched PHP? Run the php -v version check inside the running container. Pulling an updated image is not proof, because an already-running container keeps its old interpreter until it is stopped and restarted.

Source video