Situation
Two security vulnerabilities were discovered in PHP. As a result, all PHP versions shipped with Plesk are also affected. These security vulnerabilities have been identified as CVE-2026-109618 and CVE-2026-109619 and are also known as PHP2Shell.
Affected product version
- PHP on Plesk Obsidian for Linux:
| Product | Affected versions | Patched versions |
|---|---|---|
| PHP 8.5 | 8.5.11 and below | 8.5.12 |
| PHP 8.4 | 8.4.26 and below | 8.4.27 |
| PHP 8.3 | 8.3.35 and below | 8.3.36 |
| PHP 8.2 | 8.2.34 and below | 8.2.35 |
| PHP 8.1 (EOL) | 8.1.34 (built before 21 Oct 2026) | 8.1.34 (built on 21 Oct 2026) |
| PHP 8.0 (EOL) | 8.0.30 (built before 21 Oct 2026) | 8.0.30 (built on 21 Oct 2026) |
| PHP 7.4 (EOL) | 7.4.33 (built before 21 Oct 2026) | 7.4.33 (built on 21 Oct 2026) |
- PHP on Plesk Obsidian for Windows:
| Product | Affected versions | Patched versions |
|---|---|---|
| PHP 8.5 | 8.5.11 and below | 8.5.12 |
| PHP 8.4 | 8.4.26 and below | 8.4.27 |
| PHP 8.3 | 8.3.35 and below | 8.3.36 |
| PHP 8.2 | 8.2.34 and below | 8.2.35 |
- Plesk Obsidian (
sw-enginecomponent):
| Product | Affected versions | Patched versions |
|---|---|---|
| Plesk for Linux (sw-engine, part of Plesk UI) |
|
|
| Plesk for Windows (plesk-engine, part of Plesk UI) |
|
|
Note: for older versions of PHP (5.6, 7.2, 7.3) it is recommended to use paid TuxCare Extended Lifecycle Support for PHP.
Impact
Both vulnerabilities are rated critical (CVSS scores of 9.2). Remote code execution (RCE) is possible on affected PHP versions.
Call to action
Update Plesk to the latest available version.
A fix is available for most affected versions. The PHP vendor released the fixed PHP versions on 21 October 2026 at 14:00 UTC (PHP News Archive | 21 Oct 2026).
Fixes for Plesk for Linux are already available for PHP 8.2 (as 8.2.35), 8.3 (as 8.3.36), 8.4 (as 8.4.27) and 8.5 (as 8.5.12).
Fixes for EOL PHP versions on Plesk for Linux 7.4.33, 8.0.30, 8.1.34 have the same version number, but different build date. Versions built on 21 October 2026 have fixes included.
Fixes for Plesk for Windows are available for PHP 8.2 (as 8.2.35), 8.3 (as 8.3.36), 8.4 (as 8.4.27) and 8.5 (as 8.5.12)
Fixes for sw-engine/plesk-engine (PHP engine used by Plesk itself) are already available in Plesk Obsidian 18.0.81 Update 4 and 18.0.80 Update 11 for both Plesk for Linux and Plesk for Windows. Check the Plesk version installed on the server.
Additional Information:
If the update fails with The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5B6AB2160B50DB96 error (on Ubuntu/Debian), check the Unable to update Plesk: The following signatures couldn't be verified because the public key is not available article.
How to check PHP version on Plesk server:
- Log into Plesk.
- Navigate to Tools & Settings > PHP Settings menu. Versions should be reflected in handler names:
- Connect to the server via SSH
-
Execute the command below for corresponding PHP version (8.3 is used in this example):
# /opt/plesk/php/8.3/bin/php -v
PHP 8.3.36 (cli) (built: Oct 21 2026 08:04:57) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.36, Copyright (c) Zend Technologies
with Zend OPcache v8.3.36, Copyright (c), by Zend Technologies
Comments
https://www.php.net/
Security advisory: Critical remote code execution vulnerabilities, update now
PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 fix two critical vulnerabilities that can allow unauthenticated remote code execution. All PHP users are strongly encouraged to update immediately.
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.
The vulnerabilities:
How to update:
If you cannot update immediately: while only an update is a complete solution, the following measures reduce exposure to specific attack paths but do not make an installation safe.
RCE via OOM corruption (CVE-2026-109618):
RCE via stale global state (CVE-2026-109619):
The advisories linked above have the full technical details.
I updated PHP 8.5 on my server, running Debian 12.15, per the instructions at php.net. php --version now reports 8.5.12. What to I need to do on the Plesk end to be protected?
Vladimir Levchuk
Does not work as expected I think … (apt on Ubuntu 24.04.5)
Err:8 http://autoinstall.plesk.com/PHP83_17 noble InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5B6AB2160B50DB96
Err:9 http://autoinstall.plesk.com/PHP84_17 noble InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5B6AB2160B50DB96
Err:10 http://autoinstall.plesk.com/PHP85_17 noble InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5B6AB2160B50DB96
… maybe add instructions as follows to get APT working on Ubunto/Debian:
plesk installer update
apt clean all
apt update
apt upgrade
yum update is not showing any new php packages yet. (This is on an alma9 and rocky 8 server)
Update:
yum clean metadata
yum makecache
yum check-update 'plesk-php*'
However, now I am getting public key for <package> not installed
When will the update be visible in Plesk?
Great to see you will also support older PHP versions. I know it is early to say, but is there any timeframe in mind?
how can you support php7.4 → 8.1 if php itself is not supporting it?
where to find the security patch for Plesk Obsidian 18.0.81 Update #3 (Ubuntu 20.04.6 LTS) ? nothing is available via apt update/upgrade :-(
[UPDATE: update has been release thru apt and successfully applied. Thanks]
Older PHP versions (7.4, 8.0, 8.1) don't have fixes yet?!
Why not? We need to pay even more for our Plesk licenses?
In case someone else is getting an error like “public key for <package> not installed”:
Running “plesk installer install-all-updates” fixed this for me and applied the PHP patches correctly.
Older PHP versions will come, but needs time a bit, I am sure Plesk team is working hard on it.
yum update reports this. How to resolve?:
…
Public key for plesk-php85-xdebug-3.5.3-0redhat.8.261021.1135.x86_64.rpm is not installed
Public key for plesk-php85-xml-8.5.12-0redhat.8.261021.1135.x86_64.rpm is not installed
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'yum clean packages'.
Error: GPG check FAILED
If the PHP updates do not install via yum, they will via Plesk update (GUI or CLI) as that will install the necessary keys.
Can you tell in which order you plan to release the missing fixes? Would be interesting also when new sw-engine can be expected? Thanks.
Michel vd Lingen : "Older PHP versions (7.4, 8.0, 8.1) don't have fixes yet?!
Why not?" --→ please read the main post above you are commenting on before complaining.
a.) because they are EOL, the current versions are patched first (every other way to handle this would cause delays)
b.) but even the EOL versions will receive updates, see above
c.) If you chose to use outdated software, you can also choose to book additional maintenance services. Your freedom, your choice, your responsibility
@plesk team: Thanks to everyone at Plesk team for doing such a great job, keeping us posted and fixing SEVERAL PHP versions even for EOL Ubuntu releases that fast :-) You rock!
Assuming everyone is hogging the Plesk network but are you guys facing Gateway issues and having to log in as root (compared to it was auto logging you in before)?
Tx
Will the update be avaliable in GUI, if not please post procedure to update !
SSH run:
plesk installer update
will also fix the apt key issues in previous messages
At DirectAdmin they provide excellent support! They will even provide fixes for older PHP-version e.g. PHP 5.6, PHP 7.0, PHP 7.1, PHP 7.2 and PHP 7.2!
Quote by DirectAdmin employee fln:
PHP versions 7.3 - 5.6 does not yet have a patch, we wanted to release what we have as soon as possible. Once we have patches for older PHP we will release them.
Why can't Plesk do this for their customers? Weird. We are paying enough as it is!
warning: /var/cache/yum/x86_64/7/PLESK_17_PHP82/packages/plesk-php82-opcache-8.2.35-1centos.7.261021.0737.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 0b50db96: NOKEY
Public key for plesk-php82-opcache-8.2.35-1centos.7.261021.0737.x86_64.rpm is not installed
Didn't work via updates GUI either.
Is there an ETA available for 7.4, etc.?
via SSH, the PHP update deployed fine an hour ago already.
Be aware Plesk GUI also uses php and needs to be patched separately (as mentioned in the original post), 18.0.81#4 was not visible for me so far.
Until it's patched, IMHO it's better to turn the Plesk Panel (GUI) off - took me about 15 to 30 minutes to figure that out, so I'll hope this will save you others some time:
1.) Make sure you have external SSH access that's working (e. g. via PuTTY)
2.) SSH
---
systemctl stop sw-cp-server
systemctl is-active sw-cp-server
----
should show “inactive”
3.) periodically check for 18.0.81.4:
---
plesk installer --select-release-current --upgrade-installed-components
plesk version | head -1
/usr/local/psa/admin/bin/php -v | head -1
---
4.) Once that returned version 4, restart panel:
----
systemctl start sw-cp-server
systemctl is-active sw-cp-server
---
Rainer Z if I was to update just the PHP 8.X via the Plesk updater GUI - what are the chances Plesk GUI going mental and screwing up? thanks Raj
Rainer Z you are really short sighted? How many server do you have active? Probably less than 100 or perhaps even less than 10? Compare that situation to ours (over 1200 servers; not all Plesk luckily). And do the math on the amount of hosting accounts and think again on how many people do NOT update their website (Wordpress, custom PHP, whatever). Oh well. You are clearly shortsighted. Haha.
Vladimir Levchuk : Thanks a lot for keeping us posted here and the great article above, clearly showing what to do, what it already patched, what is planned to be released soon and even mentioning an option for PHP version hat have been EOL for years.
You made my day, helped me solve this fast and you + your team totally rock! Kudos to you and keep up the great work.
Completely agree with Rainer Z comment!
In regards to Rainer Z's remark:
c.) If you chose to use outdated software, you can also choose to book additional maintenance services. Your freedom, your choice, your responsibility
You are really short sighted aren't you?! Like I chose what our hosting customers are running? Really…
Rainer Z member since 32 minutes ago hahahaha. Byebye.
Keith Dawson “what Do I need on the Plesk end to be protected” (after updating php 8.5 to 8.5.12):
Make sure the plesk panel is also updated, see https://support.plesk.com/hc/en-us/articles/44397729587351/comments/44415621939991
And kudos to you for being the first of the commenters to update your server
Update, applying a Plesk update worked.
Please release the update for Windows soon.
Please sign in to leave a comment.