Fix guides / cPanel / WHM

Fix php2shell on cPanel / WHM

cPanel installs each PHP version side by side, and any of them can serve a site. Update every installed version, not just the default, then restart PHP-FPM and the web server. EasyApache 4 packages follow upstream numbering: they need 8.5.12, 8.4.27, 8.3.36, 8.2.35 or later.

These steps fix CVE-2026-109618 and CVE-2026-109619. Upstream releases and distribution package numbers are in the fixed versions table.

Can’t update right now? Apply the temporary mitigations.

Not sure which PHP your site uses? Start with the self-check.

1. Find every PHP version in use

Which version each domain uses (also in WHM → Software → MultiPHP Manager):

whmapi1 php_get_vhost_versions | grep -E 'vhost:|version:'

EasyApache 4 versions:

for p in /opt/cpanel/ea-php*/root/usr/bin/php; do echo "$p: $($p -r "echo PHP_VERSION;")"; done

CloudLinux alt-php versions:

for p in /opt/alt/php*/usr/bin/php; do echo "$p: $($p -r "echo PHP_VERSION;")"; done

2. Install the update

AlmaLinux, Rocky Linux or CloudLinux 8/9:

sudo dnf upgrade 'ea-php*' 'alt-php*'

CentOS 7 or CloudLinux 7:

sudo yum update 'ea-php*' 'alt-php*'

cPanel on Ubuntu:

sudo apt update && sudo apt install --only-upgrade 'ea-php*'

Sites on PHP 8.1 or older get no upstream fix. Move them to 8.2 or later in MultiPHP Manager, unless their alt-php or extended-support build includes the backport.

3. Restart PHP and the web server

PHP-FPM:

/scripts/restartsrv_apache_php_fpm

Apache:

/scripts/restartsrv_httpd

LiteSpeed Web Server:

/usr/local/lsws/bin/lswsctrl restart

4. Verify

Run the version loops from step 1 again. Every ea-php build you use should be at or above its fixed version.

alt-php builds for old branches keep their number. Check the changelog instead (replace 81):

rpm -q --changelog alt-php81-common | grep -E "CVE-2026-10961[89]"

Other environments

FAQ

I only have a cPanel user account, not WHM. What can I do?

Pick a fixed version in cPanel → Software → MultiPHP Manager (or Select PHP Version on CloudLinux), then ask your host whether their build includes the fix. See the shared hosting guide.

Do I have to update versions no site uses?

Yes. A user can switch to any installed version at any time, so an unused vulnerable build is still reachable.