Self-check: is your server patched?
Run these on the server to see the PHP version your site really uses. You are fixed if it is 8.5.12, 8.4.27, 8.3.36, 8.2.35 or later, or a distribution package at or above the backported version. After updating, restart PHP so running workers load the new code.
Step-by-step update guides for each environment: fix guides.
Any server: check the PHP that actually serves web requests
The PHP CLI (php -v) can be a different build from the one behind your web server. The most reliable check is a temporary file served by the site itself. Delete it immediately afterwards.
Create a temporary file in your web root (random name):
echo '<?php echo PHP_VERSION, " ", PHP_SAPI;' > ./v-$(openssl rand -hex 6).phpOpen it in a browser, note the version and SAPI, then delete it:
rm ./v-*.phpCLI version (may differ from the web version):
php -vList running PHP services:
systemctl list-units --type=service 'php*'Ubuntu / Debian packages
Distribution packages keep the old upstream version number when a fix is backported, so compare the package version with the vendor advisory, or search the package changelog for the CVE ID.
Full guide: how to update and verify
Installed PHP packages and versions:
dpkg -l 'php*' 'libapache2-mod-php*' | grep ^iiDoes the changelog mention the fix? (replace 8.3 with your branch)
zgrep -E "CVE-2026-10961[89]" /usr/share/doc/php8.3-common/changelog.Debian.gzInstall the update:
sudo apt update && sudo apt install --only-upgrade "php8.3*"Restart PHP-FPM / Apache so the new binary is loaded:
sudo systemctl restart php8.3-fpm apache2RHEL / AlmaLinux / Rocky / CentOS Stream
Red Hat backports fixes without changing the upstream version. Search the RPM changelog for the CVE ID.
Full guide: how to update and verify
Installed PHP packages:
rpm -qa | grep -Ei "^(php|ea-php|alt-php)" | sortDoes the changelog mention the fix?
rpm -q --changelog php-common | grep -E "CVE-2026-10961[89]"Install the update and restart:
sudo dnf upgrade "php*" && sudo systemctl restart php-fpm httpdcPanel / WHM (EasyApache 4) and CloudLinux alt-php
Each PHP version is installed side by side. Check every version a site can be assigned to, not just the default.
Full guide: how to update and verify
Which versions are in use: WHM → Software → MultiPHP Manager.
EasyApache PHP versions:
for p in /opt/cpanel/ea-php*/root/usr/bin/php; do $p -v | head -1; doneCloudLinux alt-php versions:
for p in /opt/alt/php*/usr/bin/php; do $p -v | head -1; doneBackport check for an alt-php build (replace 81):
rpm -q --changelog alt-php81-common | grep -E "CVE-2026-10961[89]"Update packages:
sudo dnf upgrade "ea-php*" "alt-php*" # or: yum updatePlesk
Plesk ships its own PHP builds under /opt/plesk/php. Update them from Tools & Settings → Updates.
Full guide: how to update and verify
List PHP handlers and versions:
plesk bin php_handler --listVersion of a specific build:
/opt/plesk/php/8.3/bin/php -vInstall updates from the command line:
plesk installer --select-release-current --upgrade-installed-componentsaaPanel / BT Panel (宝塔)
aaPanel compiles PHP into /www/server/php/<version>. Each installed version must be updated or recompiled separately.
Full guide: how to update and verify
Installed versions:
for p in /www/server/php/*/bin/php; do echo "$p: $($p -r "echo PHP_VERSION;")"; doneUpdate: App Store → PHP-x.y → Settings → Update (or reinstall the latest minor version).
Docker / Kubernetes
Rebuilding with an updated base image is the fix. A running container never updates itself.
Full guide: how to update and verify
Which images are running:
docker ps --format '{{.Names}}\t{{.Image}}'PHP version inside a container:
docker exec <container> php -vPull the fixed official tag and rebuild (example):
docker pull php:8.3.36-fpm && docker compose build --pull && docker compose up -dWordPress on shared or managed hosting
On shared hosting you usually cannot patch PHP yourself. Confirm the version, then switch to a fixed version in the hosting panel or ask your host whether their build includes the fix.
Full guide: how to update and verify
WordPress admin → Tools → Site Health → Info → Server → PHP version.
In your hosting panel, select a fixed PHP version (8.2.35, 8.3.36, 8.4.27 or 8.5.12 or later).
If the panel shows only "8.3" without a patch number, ask support: "Does your PHP build include the fixes for CVE-2026-109618 and CVE-2026-109619?"
FAQ
Why does php -v show a different version from my website?
The command-line PHP and the PHP behind your web server (PHP-FPM, mod_php, LiteSpeed) are often separate builds, and servers frequently have several versions installed. Check the version your site actually uses, then update every installed version.
I updated the package. Am I done?
Restart PHP-FPM, Apache or LiteSpeed so workers load the new binary. Running workers keep the old code in memory until they restart.