PHP vulnerabilities

  • Thursday, 22nd October, 2026
  • 21:03pm

Below is the complete guide for the recent critical PHP vulnerabilities
(CVE-2026-109618 and CVE-2026-109619 - unauthenticated remote code execution,
CVSS 9.2). All vendors (CloudLinux, cPanel, DirectAdmin, Plesk, Ubuntu, AlmaLinux)
have released patches, including backports for older PHP versions.

=================================================================

STEP 1 - IDENTIFY YOUR ENVIRONMENT

Check your OS:
cat /etc/os-release | grep -E '^(NAME|VERSION)='

Check which control panel you use (if any) and the installed PHP:
rpm -qa | grep -Ei '^(alt-php|ea-php|php)' | sort (RHEL-based)
dpkg -l | grep -Ei '(ea-php|alt-php|php)' | head -30 (Ubuntu)

=================================================================

STEP 2 - UPDATE (use the section matching YOUR setup)

--- A) cPanel on CloudLinux (most common) ---

yum clean all && yum makecache
yum update -y 'alt-php*'
yum update -y 'ea-php*'
/scripts/restartsrv_httpd
/scripts/restartsrv_apache_php_fpm

Verify (replace 74/83 with your versions - any CVE line = patched):
rpm -q --changelog alt-php74-common | grep -E 'CVE-2026-(109618|109619)'
rpm -q ea-php83-php-cli --changelog | grep -E 'CVE-2026-(109618|109619)'

--- B) cPanel on plain CentOS / AlmaLinux ---

yum clean all && yum makecache
/scripts/update-packages
/scripts/restartsrv_httpd
/scripts/restartsrv_apache_php_fpm

Verify:
rpm -q --changelog ea-php83-php-cli | grep -m1 CVE-2026-109618

--- C) cPanel on Ubuntu ---

apt clean && apt update
/scripts/update-packages
/scripts/restartsrv_httpd
/scripts/restartsrv_apache_php_fpm

Verify:
zgrep -E 'CVE-2026-109618' /usr/share/doc/ea-php83-php-cli/changelog.Debian.gz

--- D) DirectAdmin ---

IMPORTANT: the panel updating itself does NOT rebuild PHP. The correct order:

da update <- downloads new CustomBuild data incl. the patch files
da build versions <- shows pending PHP updates (* = backport, same version)
da build php <- rebuilds all configured PHP versions
(then check: ls /usr/local/directadmin/custombuild/patches/ | grep -i cve-2026)

Verify:
/usr/local/php83/bin/php -v <- build date must be 21 Oct 2026 or later

--- E) Plesk ---

Plesk PHP is updated through Plesk's own installer:

plesk installer --select-release-current --upgrade-installed-components --include-components=all
plesk repair web -y (if needed)

Plesk 8.2+ moves to 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12. EOL versions (7.4, 8.0,
8.1) keep the same version number - builds dated 21 Oct 2026 include the fix.
Plesk's own engine (sw-engine) is fixed in Obsidian 18.0.81 Update 4.

--- F) No panel - plain OS PHP ---

RHEL / AlmaLinux / Rocky / CloudLinux:
dnf clean all && dnf upgrade -y 'php*'

Ubuntu / Debian:
apt clean && apt update && apt upgrade -y

Verify:
rpm -q --changelog php-common | grep -E 'CVE-2026-(109618|109619)' (RHEL)
zgrep CVE-2026-109618 /usr/share/doc/php*/changelog.Debian.gz (Ubuntu)

=================================================================

STEP 3 - IMPORTANT NOTES (read these, they prevent 90% of confusion)

1) RESTART IS MANDATORY. Updating packages does not patch already-running PHP
processes. Without a restart (web server / PHP-FPM / LiteSpeed) you remain
vulnerable.

2) VERSION NUMBERS MAY NOT CHANGE. CloudLinux, Plesk and Ubuntu backport the fix
into the same version number (e.g. 7.4.33 stays 7.4.33). "php -v" cannot prove
anything - only the changelog/build date can.

3) "yum update" SHOWING "Nothing to do" USUALLY MEANS ALREADY PATCHED - not that
the update is missing. Verify with the changelog commands above.

4) If a version IS installed and still shows no CVE entries after updating,
send us:
- output of cat /etc/os-release
- output of the update command
- output of the verification command
and we will investigate immediately.

5) Real-time protection: on servers with Imunify360, WAF rulesets 8.83-8.85 were
delivered automatically and block the known exploit requests - keep the WAF
enabled. This is an extra layer, not a replacement for updating.

6) Long-term: PHP 8.2 reaches end of life on 31 December 2026 and 8.1/older are
already EOL upstream. Your vendor (CloudLinux/TuxCare) keeps patching them,
but plan gradual migrations to PHP 8.2+ going forward.

« Back