PHP October 2026 security release: what to update

Convika Team20 min read

  • security
  • php
  • wordpress
On this page

As of October 23, 2026, 02:55 JST (October 22, 17:55 UTC). Every fact that can change carries the time it was checked, in JST (UTC+9). Last changed: October 23, 02:55 JST, the PHP 8.1 answer.

If you run PHP that answers web requests, install PHP 8.5.12, 8.4.27, 8.3.36, or 8.2.35, released on October 21, 2026, and restart every PHP worker. They fix CVE-2026-109618 and CVE-2026-109619, which PHP says "can allow unauthenticated remote code execution." PHP 8.1 and older get no release.

On shared or managed hosting, the host installs the fix: read its notice, and don't judge by the version number, because several hosts patch the version you already run and the number stays the same. A WordPress update doesn't fix this. WordPress.org says "No WordPress update is required or planned for these issues." Status at 02:51 JST on October 23 (17:51 UTC, October 22): PHP scores both CVEs 9.2 on CVSS v4.0, NVD scores both 9.8 on CVSS v3.1, CISA's Known Exploited Vulnerabilities catalog lists neither, and reports of attacks differ by source.

Below: the fixed versions, the two bugs in PHP's words, a table to see who has to act for your site, what each host, platform, and package channel has said or shipped, the update steps, and the attack reports side by side.

Which PHP versions are fixed

BranchFixed version (October 21, 2026)PHP security support endsWhat to do
8.58.5.12December 31, 2029Update
8.48.4.27December 31, 2028Update
8.38.3.36December 31, 2027Update
8.28.2.35December 31, 2026Update, then plan a move to 8.3 or later
8.1 and olderNo release from PHPEndedUse a vendor's patched package, or move to 8.2 or later

The versions and dates are from php.net's release announcements and its supported-versions page (checked 00:42 JST). For 8.1 and older, PHP's advisory says those branches "no longer receive updates from the PHP project", and adds that the PHP security team "provided minimal source-backports for PHP 7.4, PHP 8.0, and PHP 8.1 to help people building from source or without access to an LTS vendor." The CVE records list the affected versions as 8.2 before 8.2.35, 8.3 before 8.3.36, 8.4 before 8.4.27, and 8.5 before 8.5.12.

The two bugs, in PHP's words

PHP's advisory names who is at risk: "all PHP installations serving web requests, including PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP and LiteSpeed. We consider the risk highest for mod_php, with a demonstrated exploit where an unauthenticated request can trigger the attack before any application code runs."

CVEPHP's titleGitHub advisoryConfirmed impact, per PHP's advisoryScore from PHP
CVE-2026-109618RCE via OOM corruptionGHSA-w8hw-w9fx-j79w"unauthenticated remote code execution as the web worker account", validated over HTTP against mod_phpCVSS v4.0 9.2
CVE-2026-109619RCE via stale global stateGHSA-6wmf-4rv5-p3rp"unauthenticated heap use-after-free, memory disclosure and remote code execution with the web worker's privileges"; the session upload progress path was validated against mod_php and FPMCVSS v4.0 9.2

PHP published both GitHub advisories on October 21 at 13:34 UTC (22:34 JST), and CVE.org published the records at 13:48 and 13:54 UTC, with PHP as the CNA. For PHP-FPM and CVE-2026-109618, the advisory says "Source analysis therefore supports FPM as a susceptible, though no complete FPM exploit has been demonstrated for this SAPI."

Other organizations score the same bugs differently (checked 00:42 to 00:45 JST):

  • NVD scores both 9.8 on CVSS v3.1, beside PHP's 9.2 on CVSS v4.0.
  • Red Hat rates both Important, with a CVSS v3.1 score of 8.1. For CVE-2026-109618 it says "Standard Red Hat Enterprise Linux deployments use PHP-FPM rather than mod_php."
  • Ubuntu gives CVE-2026-109618 the priority "critical".

CISA calls the pair "php2shell" in its alert of October 21. PHP's advisory doesn't use that name.

Am I affected?

The bugs are in PHP itself, below WordPress, Laravel, Drupal, or any other application. Who has to install the fix depends on who runs PHP for your site.

Where your site's PHP runsWho installs the fixWhat you do
Your own server or VM, with your distribution's packagesYouUpdate the packages, restart PHP-FPM or Apache, and check the package version (steps below)
A Docker image or other container you buildYouRebuild from a fixed tag with docker build --pull, then redeploy
Shared hosting, managed WordPress hosting, or a cPanel accountThe hostRead the host's notice (status table below). Nothing to install yourself unless the host asks
A managed platform such as Google App Engine or Cloud RunThe platform, depending on your settingsFollow the platform's statement (status table below)
PHP on Windows, from php.netYouInstall the fixed build: php.net says "Windows source and binaries are on the same page"
PHP used only for command-line scripts, never for web requestsYouPHP's advisory is about "all PHP installations serving web requests" and says nothing about command-line-only use. Update with the server's next package update
Any of the above, and you updated WordPress, a plugin, or a themeStill whoever runs PHPThat update doesn't fix this. Cloudflare: "updating website code or a plugin(s) alone does not fix these vulnerabilities"

Host and platform status

This table holds only what each company says on its own page, with the time this page read it. It is the part of this page that goes stale first. Quotes from Japanese pages are translated from Japanese.

Host or platformWhat its own page saysChecked (October 23, JST)What you do
mixhost (Japan)Fix packages were applied on all servers around 10:18 JST on October 22, for PHP 5.2 to 8.5. The version number shown "does not change after the fix", for example 8.4.26. "There is no work customers need to do" (translated)00:43Nothing to install. mixhost recommends PHP 8.2 or later if you run an older version
Xserver (Japan)Its notice of October 22: patch applied on all target servers for PHP 5.6 to 8.5 (5.6 to 7.3 finished at 14:00 JST on October 22); PHP 5.5 and older still being prepared and tested. Xserver says it may ask customers for more measures depending on their use00:44 (the notice page; the news index answered 403)Watch the notice for a request addressed to you
Lolipop (Japan)Customer sites came back around 13:00 JST on October 22. PHP 8.2 to 8.5 got the official fixed versions, 7.4 to 8.1 PHP's backports, and 5.3 to 7.3 Lolipop's own fix. session.upload_progress is turned off on every version, and Lolipop asks customers to check that their sites, forms, and uploads work00:44Check your site's forms and uploads. Lolipop asks customers to switch to PHP 8.2 or later
Sakura rental server (Japan)Done for every PHP version selectable in the control panel; "there is no emergency action for customers to take" (translated). Webmail was finished at 13:45 JST on October 2200:43Nothing to install. Sakura suggests moving to a supported PHP version
ConoHa WING (Japan)Patches applied to every PHP version it offers, finished at 20:45 JST on October 22. Site Health may show the same number as before, such as 8.5.1100:45Nothing to install
cPanel & WHMEasyApache 4 25.91 (October 21) "fixes two critical PHP vulnerabilities (CVE-2026-109618 and CVE-2026-109619) in ea-php74 through ea-php85". cPanel's own internal PHP was updated the same day00:45Server admins: update EasyApache 4. Account holders: ask your host whether it has
PleskIts knowledge-base article on the two CVEs answered 403 to this page's check00:43Not confirmed on Plesk's own page. Ask your host
Google CloudApp Engine standard (PHP 8.2 and newer): "Applications are updated automatically. No action is required." App Engine flexible: redeploy. Cloud Run and Cloud Run functions: updated automatically only with automatic base image updates; otherwise rebuild and redeploy. GKE: update your images00:43Redeploy or rebuild as your service type says
Cloudflare WAFRules on by default since October 21, 03:02 UTC, "on all plans with WAF deployed, including Free users". "If a hosting provider manages PHP, ask the provider to apply the security update."00:43Keep the rules on, and update PHP anyway

Where you install PHP yourself, the channel decides when you get a fixed build:

Where your PHP comes fromFixed build out? (checked October 23, JST)How to get it
php.net downloads (source and Windows)Yes, since October 21 (00:42)Download 8.5.12, 8.4.27, 8.3.36, or 8.2.35
Docker Hub, official php imageYes: tags 8.5.12, 8.4.27, 8.3.36, and 8.2.35 with their variants, such as 8.4.27-fpm, available since October 21: the plain tags were first pushed between 18:59 and 22:09 UTC (00:43, 02:49)docker build --pull from a fixed tag, then redeploy
HomebrewYes: php 8.5.12, php@8.4 8.4.27, php@8.3 8.3.36, php@8.2 8.2.35 (00:43)brew upgrade php (or the versioned formula), then brew services restart php
Debian12 bookworm: php8.2 8.2.35-1~deb12u1 (DLA-4848-1). 13 trixie: php8.4 8.4.27-1~deb13u1 (DSA-6574-1). forky is still listed vulnerable at 8.4.26-1 (00:43)sudo apt update && sudo apt upgrade
UbuntuUSN-8948-1 and USN-8948-2 (October 21), for example 24.04 php8.3 8.3.6-0ubuntu0.24.04.13 and 22.04 php8.1 8.1.2-1ubuntu2.28; 20.04 and older through ESM (00:43)sudo apt update && sudo apt upgrade
Red Hat Enterprise LinuxFixed packages for streams on RHEL 8, 9, and 10, such as RHSA-2026:87070 and RHSA-2026:87071. RHEL 9's php:8.4 stream is still listed as Affected (00:45)Apply the RHSA for your stream
AlmaLinux 8, 9, and 10Yes: in the production repositories since October 21, 21:15 UTC, for every PHP stream AlmaLinux ships (00:43)sudo dnf clean metadata && sudo dnf upgrade 'php*'
Remi's repositoryRemi's blog posted "PHP version 8.2.35, 8.3.36, 8.4.27 and 8.5.12" on October 22, 14:58 CEST (21:58 JST). PHP's advisory of October 21 had said the repo "will not have updates today" (00:43)Update from the repository

Update PHP and restart

1. Find out who installs your PHP

If a host runs PHP for you (shared hosting, managed WordPress, a cPanel account), the host installs the fix, and your step is to read its notice in the status table. If you run the server, VM, or container yourself, the next steps are yours.

2. Find the version and how PHP serves your site

Run php -v for the version of command-line PHP. php.net's manual says php_sapi_name() returns "cli" there, so also check from a web request: WordPress shows the PHP version under Tools > Site Health > Info > Server, and a PHP page that prints php_sapi_name() shows the server API, such as apache2handler for mod_php or fpm-fcgi for PHP-FPM.

3. Install a fixed build

On Debian and Ubuntu, run sudo apt update && sudo apt upgrade. On AlmaLinux, AlmaLinux gives sudo dnf clean metadata && sudo dnf upgrade 'php*'. With Docker, rebuild with docker build --pull from a fixed tag such as php:8.4.27-fpm. With Homebrew, run brew upgrade php.

4. Restart every PHP worker

A PHP-FPM worker or Apache process that started before the update keeps running the old build until it restarts. AlmaLinux's instructions restart PHP right after the upgrade with sudo systemctl restart php-fpm, or sudo systemctl restart httpd for mod_php on AlmaLinux 8. On Debian and Ubuntu the FPM service carries the version in its name, such as php8.4-fpm. Then run step 2 again against the running site.

5. Check the fix by package version, not by php -v

Distributions and hosts often patch the version you already run, so the number doesn't move. AlmaLinux says "Don't rely on php -v: our fixes are backported, so the upstream PHP version number doesn't change", and has you compare rpm -q php-common against its patched versions. On Debian and Ubuntu, compare the installed php8.x package version with the table above. On shared hosting, the host's notice is the proof: mixhost and ConoHa both say the number shown stays the same.

6. Move off PHP 8.1 and older, and plan for 8.2

PHP releases no fix for 8.1 and older. Some hosts and distributions patched them anyway: the Japanese hosts in the status table say they did, with Xserver's PHP 5.5 and older still in progress. Lolipop calls its fix for those versions a stopgap and warns that for future vulnerabilities an official fix may not come and it may not be able to make one (translated). PHP 8.2 gets security fixes until December 31, 2026.

If you can't update yet

These are the vendors' words. This page adds no advice of its own.

  • PHP: "while only an update is a complete solution, the following measures reduce exposure to specific attack paths but do not make an installation safe." The measures for CVE-2026-109618 include memory_limit=-1, set where applications can't override it, and a low post_max_size. For CVE-2026-109619 they include session.upload_progress.enabled=0, then "restart every worker." The full list is in PHP's advisory.
  • CISA: "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."
  • WordPress.org, for sites on PHP older than 8.2 that run their own hosting, quotes the UK National Cyber Security Centre: "Where immediate remediation is not feasible, organisations should consider taking the system offline until it can be fully mitigated."
  • Cloudflare: limiting uploads and upload sizes "can also reduce exposure, but these measures do not replace the PHP fix."

Is it being exploited? Reports differ

The sources below don't agree, and this page doesn't pick one. Whichever is right, the fix is the same.

SourceWhat it saysDate
CISA alert"CISA has not observed exploitation of these vulnerabilities as of the time of publication"October 21
CISA's assessment in the CVE recordsExploitation: "none"October 21, 14:34 UTC
CISA Known Exploited Vulnerabilities catalogNeither CVE listed in catalog version 2026.10.21Checked October 23, 02:49 JST
PHP FoundationIts team "did not identify any functional exploits at the time of release/public disclosure"October 21
Cloudflare"we observed attack traffic targeting our customers"October 21
watchTowr"Exploitation has been observed in the wild as of the 21st of October through watchTowr's Attacker Eye global honeypot network"Updated October 22
Lolipop (Japanese host)Saw access that appeared to target the vulnerability; no unauthorized access or data leak confirmed so far (translated)October 22

What this is not

Searches for "PHP vulnerability" and "WordPress vulnerability" this month also find these. Each has its own fix.

NameWhere the bug isWhat fixes itWhen
CVE-2026-109618 and CVE-2026-109619 (this page)PHP itselfA PHP update, from you or your hostOctober 21, 2026
CVE-2026-60137 and CVE-2026-63030, which IPA's July 22 alert calls wp2shellWordPress coreWordPress 7.0.2, 6.9.5, or 6.8.6 (6.8 has only the first bug)July 17, 2026; in CISA's catalog since July 21
CVE-2026-87902WordPress coreWordPress 7.1.2September 22, 2026; in CISA's catalog since September 25
PHP's September releases (8.5.11, 8.4.26, 8.3.35, and 8.2.34)PHP, separate bugsThe October releases include themSeptember 24, 2026

WordPress's latest release is 7.1.3, from October 6 (WordPress.org, checked 00:45 JST).

If your PHP server is there for one page and a form

Many small sites keep a PHP server only for one information page and a contact form. A page published on Convika is HTML that Convika serves at a convika.page address or your own domain, and its form submissions go to Convika, so there is no PHP of yours to patch (publish an HTML page, add a form without a backend). It can't run WordPress, a shopping cart, payments, member logins, or PHP scripts. Moving a site means rebuilding the page and adding DNS records, so it's no step for the middle of an incident or for while your host's control panel is down.

Tell your visitors while the site is down

While a host patches PHP or you update it yourself, your site may show an error, and a site that is down can't carry its own notice. Ask an AI chat to write one HTML page that says why the site is down, when you expect it back, and how to reach you, then send its link by email or post it on social media.

Convika turns that file into a link: sign up free, drop the file on the upload screen, check the private preview, and publish. The page runs on Convika, apart from your PHP server, so it stays up while your site is down. On the free plan the page is public, and search engines and Convika's gallery may list it.

Publish my notice page

Updates to this page

  • October 23, 2026, 01:05 JST: first version. Sources read between 00:42 and 00:53 JST. The CVE records, NVD, CISA's catalog, WordPress.org, Red Hat, Debian, and the hosts' notices were read again at 01:04 JST, unchanged.
  • October 23, 2026, 02:55 JST: the answer to "Is PHP 8.1 affected, and is there a fix?" opens with yes, quoting PHP and CISA; the first version read as if 8.1 were not at risk. The answer on affected versions says the same. The Docker row gives the first push of the plain tags (October 21), the Xserver row its notice date, and the ConoHa source its final notice. CISA's catalog, NVD, and the CVE records were read again at 02:49 to 02:51 JST, unchanged.

This page changes when CISA adds either CVE to its catalog, when NVD or PHP changes a score, when a host in the status table posts a new notice (Xserver's PHP 5.5 and older is still open), when Red Hat ships the RHEL 9 php:8.4 fix or Debian fixes forky, and when anything new about attacks is reported. The same week: Node.js October 2026 security release: what to update and Chrome's eMudhra root removal on October 27: what to do. The Japanese version of this story, written for shared-hosting users, is PHP の脆弱性で緊急メンテナンス:自分のサイトは何をすればいい? (in Japanese).

Frequently asked questions

Which PHP versions are affected by CVE-2026-109618?

PHP 8.2 before 8.2.35, 8.3 before 8.3.36, 8.4 before 8.4.27, and 8.5 before 8.5.12, per the CVE record and PHP's advisory of October 21, 2026. The record lists only the branches PHP still supports: PHP 8.1 and older are at risk too, by PHP's and CISA's accounts, and get no fix from PHP. CVE-2026-109619 covers the same versions.

Is PHP 8.1 affected, and is there a fix?

Yes, by PHP's and CISA's accounts: PHP's advisory names "all PHP installations serving web requests", and CISA says organizations that "continue to use PHP 8.1 or earlier unsupported versions, should take PHP-based systems offline until they can be patched or updated." The CVE records list only the supported branches, 8.2 to 8.5, and PHP releases no fixed 8.1: its advisory says 8.1 and older "no longer receive updates from the PHP project". PHP published minimal source backports for 7.4, 8.0, and 8.1, and some vendors ship patched packages: Ubuntu 22.04's php8.1 8.1.2-1ubuntu2.28, cPanel's ea-php74 to ea-php81, and the Japanese hosts in the status table.

Do I need to update PHP if I use shared hosting?

No, not yourself. On shared hosting the host installs the fix. mixhost, Sakura, and ConoHa WING say customers have nothing to do, and Xserver says it may ask for more measures later (all checked October 23, 00:43 to 00:45 JST). Read your host's notice, and plan a move to PHP 8.2 or later if you run 8.1 or older.

Does updating WordPress fix the PHP vulnerability?

No. WordPress.org says the vulnerabilities "are not specific to WordPress and affect any server that hosts a PHP application. No WordPress update is required or planned for these issues." The fix is a PHP update, from you or your host.

How do I check my PHP version, and why does it show the old number after my host patched?

Check it in WordPress under Tools > Site Health > Info > Server, in your host's control panel, or with php -v. The old number can stay because hosts and distributions often patch the version you already run: mixhost and ConoHa WING both say the displayed number doesn't change. Your host's notice, or your package version on your own server, is the proof.

Is CVE-2026-109618 being exploited?

Sources disagree. CISA's alert of October 21 says it "has not observed exploitation", CISA's catalog doesn't list it (checked October 23, 02:49 JST), and the PHP Foundation saw no working exploit at release. Cloudflare says it "observed attack traffic targeting our customers", and watchTowr reports exploitation seen by its honeypots on October 21.

What is the CVSS score of CVE-2026-109618?

PHP, which issued the CVE, scores it 9.2 on CVSS v4.0. NVD scores it 9.8 on CVSS v3.1, and Red Hat gives 8.1 on CVSS v3.1 with the rating Important (all checked October 23, 00:42 to 00:45 JST). CVE-2026-109619 has the same scores from all three.

Do I need to restart PHP-FPM after updating?

Yes. A worker that started before the update keeps running the old build, and AlmaLinux's steps restart PHP-FPM, or Apache for mod_php, right after the upgrade. On Debian and Ubuntu the service name carries the version, such as php8.4-fpm.

Is Cloudflare's WAF enough?

No. Cloudflare turned on rules for all plans, Free included, but says "updating website code or a plugin(s) alone does not fix these vulnerabilities" and that its other measures "do not replace the PHP fix." CISA says a firewall "may provide some protection until systems are updated or patched."

When does PHP 8.2 stop getting security fixes?

December 31, 2026, per php.net's supported-versions page. PHP's 8.2.35 announcement adds that 8.2 "will receive no further security fixes after that date." PHP 8.3 has security support until December 31, 2027.

Sources

Times are October 23, 2026, in JST (UTC+9).