On this page
- Who patches PHP on a Linode?
- What have Linode and Akamai said about PHP2Shell?
- Does Akamai's WAF rule or Cloud Firewall cover my Linode?
- How do I fix PHP2Shell on a Linode I run?
- How do I check the running PHP, and what if SSH is not working?
- Am I affected? A three-state self-test
- What should I ask if someone else runs my Linode?
- What if my PHP is end of life?
- Was anything exploited before you patched?
- What can the free scan tell me about my Linode?
Linode (Akamai Cloud) does not patch PHP inside your Compute Instance. At our check on 26 October 2026, Linode's status page advised customers running vulnerable PHP on Linode instances to apply upstream PHP patches, and we found no statement saying Akamai patches it for you. If you run PHP on a Linode, update the PHP package for CVE-2026-109618 and CVE-2026-109619, restart the PHP workers, and confirm the service started after the update.
| Fact | Detail | Source |
|---|---|---|
| CVE ids | CVE-2026-109618 and CVE-2026-109619, remote code execution in PHP core, CVSS v4 9.2 | GHSA-w8hw-w9fx-j79w, GHSA-6wmf-4rv5-p3rp |
| Fixed upstream | 8.5.12 · 8.4.27 · 8.3.36 · 8.2.35, disclosed 21 October 2026 | PHP notice |
| Linode status page | "Customer Security Advisory: PHP Remote Code Execution Vulnerabilities", opened 21 October 2026, resolved 23 October 2026. Advises customers running vulnerable PHP on Linode instances to apply upstream patches. Akamai says its own assessment and mitigation are complete. Instance status: Unknown | status.linode.com |
| Akamai write-up | 21 October 2026. Names a WAF rule for App & API Protector. No mention of Linode (re-checked 26 October 2026) | Akamai |
| Linode Managed | Excludes maintenance, updates and configuration of software on your Linodes (page dated 31 August 2026, re-checked 26 October 2026) | Akamai Cloud docs |
| Exploitation | Honeypot attempts from 17 October (AWS, vendor-claimed). Not in the CISA entries we could read on 24 October | AWS |
| Checked | 26 October 2026 for the Linode status page, the Akamai write-up and the Linode Managed page. 24 October 2026 for the other sources | this page |
The bug and the full fix path are in the explainer on how the flaw works and in how to patch each channel. This page covers what is specific to Linode.
Who patches PHP on a Linode?
You do, on any instance where you installed or chose the PHP. A Compute Instance is a server with your operating system and your packages. Akamai's own operating system update guide (dated 30 July 2026) gives the update commands per distribution and calls frequent updates the single biggest security precaution for any operating system. It does not say Akamai applies them for you.
The one managed product we checked says the same in plain words. Linode Managed includes monitoring, incident response, backups and a cPanel licence. It states that it does not include assistance with maintenance, updates or the configuration of software on your Linodes.
| Your setup on Linode | Who updates PHP | What to do |
|---|---|---|
| Compute Instance you administer | You | Update the package, restart workers, verify |
| Instance managed by an agency or freelancer | Them, if they agreed to | Ask them for the evidence below |
| Linode Managed plan | You (software is excluded) | Same as a Compute Instance |
| cPanel on a Linode | The server owner | Update ea-php packages, see cPanel update guide |
| Containers you run on an instance | You, by rebuilding the image | See Docker image fix |
| Site behind a shared host that happens to run on Linode | Your host | Ask the host, see questions to put to a shared host |
If you are unsure which row you are in, the guide to who owns patching on your site walks through it. Other self-managed cloud hosts work the same way, for example DigitalOcean Droplets and AWS Lightsail instances, and the other host status pages cover the rest.
What have Linode and Akamai said about PHP2Shell?
Akamai published a 21 October 2026 write-up of both CVEs. It names one protection, Adaptive Security Engine rule 3000991 v1, in the App & API Protector product. It says existing command injection rules were already mitigating weaponized payloads. It does not mention Linode or Akamai Cloud Computing.
Linode's status page is the place a provider-wide statement would appear. At our check on 26 October 2026 it carried a "Customer Security Advisory: PHP Remote Code Execution Vulnerabilities" for both CVEs. Akamai opened it on 21 October 2026 and marked it resolved on 23 October 2026, saying its assessment and mitigation efforts were complete. The items it lists as affected are Akamai's own Quick Deploy Apps, speed test pages and parts of its website, with Cloud Infrastructure Speed Tests left offline. For customers it advises following the upstream PHP vendor's guidance and applying upstream patches to vulnerable PHP on Linode instances. On 24 October 2026 the page had returned a human-verification challenge to our automated check, so we had not read it then. Open the page in a browser to see its current wording.
The advisory puts patching of PHP on your instance with you, so "Linode patched it for me" has no source. The status of your instance is unknown until you read it from the instance.
Does Akamai's WAF rule or Cloud Firewall cover my Linode?
Probably not by default. The two products sit in different places.
| Control | Where it works | What it does for PHP2Shell |
|---|---|---|
| Akamai App & API Protector rule 3000991 | In front of your site, if your traffic is routed through that product | Blocks matching attempts. Akamai says applying WAF rules matters for organizations that cannot patch immediately |
| Linode Cloud Firewall | Network layer: addresses, ports, protocols | Can close ports. The page (dated 1 March 2026) mentions no HTTP body inspection |
| Updated PHP package, workers restarted | On the instance | Removes the bug |
Akamai says the most effective defense continues to be prompt application of vendor patches. The question does a WAF stop PHP2Shell covers what a rule can and cannot see, including direct access to the origin address.
How do I fix PHP2Shell on a Linode I run?
Three things must be true, in order.
- Find your distribution:
cat /etc/os-release. Linode's guide givesapt update && apt upgradefor Ubuntu and Debian anddnf upgradefor RHEL family systems. - Install the PHP package from your distribution. The changelog must name CVE-2026-109618 and CVE-2026-109619, because backports keep the old number.
- Restart the service that serves PHP:
php8.x-fpm,apache2,httpdor your LiteSpeed setup. Canonical says the application that uses PHP would likely need a restart, or the system can be rebooted. - Check every virtual host and pool if the instance runs more than one PHP version.
- Rebuild and redeploy any container image that bundles PHP.
- Check any instance you restored or cloned since 21 October. The PHP inside is whatever it had when it was saved.
Package status for the two distributions most Linode owners run, at our check on 24 October 2026:
| Distribution | Fixed package | Source |
|---|---|---|
| Ubuntu 22.04 | php8.1 8.1.2-1ubuntu2.28 | Canonical |
| Ubuntu 24.04 | php8.3 8.3.6-0ubuntu0.24.04.13 | Canonical |
| Debian 12 (bookworm) | php8.2 8.2.35-1~deb12u1, DLA-4848-1 | Debian tracker |
| Debian 13 (trixie) | php8.4 8.4.27-1~deb13u1, DSA-6574-1 | Debian tracker |
The Ubuntu numbers look old on purpose. See the backport version trap. The tracker records a package fix, not a worker restart, and restarting PHP-FPM after an update is the step most often missed.
How do I check the running PHP, and what if SSH is not working?
Use the console. Akamai's Lish guide (dated 2 June 2026) gives the route: in Cloud Manager, select Linodes, choose the instance, then Launch LISH Console in the upper right. For the SSH gateway, the guide has you add your SSH public key in Cloud Manager's Lish settings. This is useful when a firewall rule or a broken SSH config has locked you out.
Once you have a shell, read state only:
-
systemctl statusfor the PHP-FPM or Apache unit shows when it last started. - The package install time (
rpm -q --last php-fpm, or the dpkg log on Debian and Ubuntu) must be earlier than that start time. -
php -vshows the command line binary. The web service can be a different one, so ask the FPM binary itself or read the version your site reports. - Do not leave a
phpinfo()page online. Load it once and delete it.
Am I affected? A three-state self-test
Am I affected? Where you stand right now
A check from outside sees headers and pages. It cannot see your package changelog, which PHP serves each virtual host, or when the workers last started.
- Detected Your site serves PHP and the version it shows is below the fixed release for its branch. Treat the instance as exposed. Patch and restart today, or ask whoever administers it.
- Unknown The version is hidden, could be a backport, or you cannot tell which PHP serves the domain. This is the common case on Linode, where nobody but you or your admin can read the instance. Get the package changelog and the service start time.
- Confirmed by owner evidence You hold a changelog entry naming both CVEs and a service start time after the install. The runtime is patched. Whether anything got in before then is a separate question.
No scan, ours included, moves you from "unknown" to "confirmed". Neither does a WAF rule or a firewall setting.
What should I ask if someone else runs my Linode?
An agency, freelancer or reseller may hold the root login. Send them this and keep the reply:
For [your domain], on the Linode instance that serves it: which operating system and PHP package is running, does the package changelog name CVE-2026-109618 and CVE-2026-109619, and what time did PHP-FPM, Apache or LiteSpeed last restart? Is any other PHP version or container serving this site?
A reply that says "we patched" without a package name and a restart time is a claim, not evidence. Akamai Cloud support can speak to Linode platform and account questions. Software on the instance is outside what the Managed page says it covers.
What if my PHP is end of life?
The PHP project notice says PHP 8.1 and older no longer receive updates from the project. It published minimal source backports for 7.4, 8.0 and 8.1, and Ubuntu lists ESM packages for older releases. Prefer a vendor package that names both CVEs. Otherwise move to a supported branch and test first. What owners stuck on old PHP can do is on its own page.
If you cannot update today, the notice lists interim settings. For CVE-2026-109618 it suggests memory_limit=-1 set at server level and a low post_max_size. For CVE-2026-109619 it suggests session.upload_progress.enabled=0 in php.ini or the pool configuration. The PHP project's 23 October notice about a separate issue, CVE-2026-115560, recommends the same setting until the next bugfix release. These reduce exposure and do not replace the update. Restart every worker after changing them.
Was anything exploited before you patched?
AWS reported exploit attempts against its honeypots from 17 October, four days before disclosure, and broad attempts after proof-of-concept code appeared on 21 October (AWS, vendor-claimed). AWS says it is unclear whether any attempt would have worked on real systems. We found no primary source naming a compromised Linode or any other site. Neither CVE was among the CISA catalog entries we could read on 24 October, and that view was limited, so re-check it.
If your PHP was unpatched and reachable from 17 October, look for PHP files you did not upload, scheduled tasks you did not create, new administrator accounts and unexpected outbound connections. Patching does not remove anything planted earlier, and the full list of compromise indicators is on its own page. The wider October picture is in the tracker.
What can the free scan tell me about my Linode?
The free scan reads the stack your site serves and matches each version to known vulnerabilities. It is a lookup. It can say a version is affected. It cannot see a distribution backport, which runtime serves a virtual host, or whether workers restarted. Your instance can.
Questions people ask
Is Linode patched for PHP2Shell?
Linode's status page carries a dated advisory that advises customers running vulnerable PHP on Linode instances to apply upstream PHP patches. We found no statement that they patched PHP on your behalf. A Linode Compute Instance is a server you run, so the PHP packages on it are yours to update and restart. Check the running service on the instance, or ask your own admin.
Does Akamai's WAF rule protect my Linode?
Only if your site's traffic goes through Akamai's App & API Protector with that rule on. Akamai describes the rule as a way to block attempts while you cannot patch, and says patching is the most effective defense. Linode's Cloud Firewall works at the network layer and does not replace a PHP update.
I have Linode Managed. Do they patch PHP for me?
Akamai's Linode Managed page says it does not include assistance with maintenance, updates or the configuration of software on your Linodes. Treat PHP updates as yours, and ask support only for what the plan covers.
php -v on my Linode shows an old version. Am I vulnerable?
Not necessarily. Ubuntu and Debian ship the fix as a new package that keeps the old version number, and the command line PHP can differ from the PHP serving your site. Read the package changelog for both CVE ids and check when the web service last started.
How do I get a shell if I cannot reach my Linode over SSH?
Use the Lish console. In Cloud Manager, open Linodes, choose your instance and select Launch LISH Console. For the SSH gateway, add your SSH public key in Cloud Manager's Lish settings (checked 24 October 2026).
I updated PHP on my Linode. What else do I need to do?
Restart every PHP-FPM, Apache or other service that serves your sites. Canonical says the application that uses PHP would likely need a restart after the upgrade. Then confirm the service start time is later than the package install time.
Sources
- PHP security notice, 21 October 2026 (php.net)Fixed releases, scope, interim settings, source backports for 7.4, 8.0 and 8.1. Also carries the 23 October notice on CVE-2026-115560. Checked 24 October 2026.
- GHSA-w8hw-w9fx-j79w: CVE-2026-109618 (php/php-src advisory)CVSS v4 9.2, affected below 8.2.35, 8.3.36, 8.4.27 and 8.5.12. Checked 24 October 2026.
- GHSA-6wmf-4rv5-p3rp: CVE-2026-109619 (php/php-src advisory)CVSS v4 9.2, same affected and patched versions. Checked 24 October 2026.
- PHP 8 changelog (php.net)8.5.12 and 8.4.27 are dated 22 October and list both advisories. No 8.5.13 entry at our check.
- Akamai: critical remote code execution vulnerabilities in PHP core (21 October 2026)Names Akamai's App & API Protector rule and says patching remains the most effective defense. Does not mention Linode. Checked 26 October 2026.
- Akamai Cloud docs: Linode Managed, what is included and excludedPage dated 31 August 2026. Says Managed does not include maintenance, updates or configuration of software on your Linodes. Checked 26 October 2026.
- Akamai Cloud docs: operating system updates on a Compute InstancePage dated 30 July 2026. Update commands per distribution.
- Akamai Cloud docs: Cloud FirewallPage dated 1 March 2026. Describes network layer filtering.
- Akamai Cloud docs: access your system console using LishPage dated 2 June 2026. Cloud Manager and SSH routes to the console.
- Linode status pageCustomer Security Advisory: PHP Remote Code Execution Vulnerabilities, covering both CVEs. Opened 21 October 2026, resolved 23 October 2026 (20:37 UTC). Checked 26 October 2026. It returned a verification challenge to our automated check on 24 October 2026.
- Amazon Threat Intelligence: PHP2Shell exploitation attempts seen in MadPot honeypots before disclosure (AWS Security Blog, 21 October 2026)Vendor telemetry. AWS says it is unclear whether the early attempts would have succeeded on real systems.
- Canonical: PHP2Shell vulnerability fixes available (Ubuntu blog, 21 October 2026)Fixed package per Ubuntu release and the restart instruction.
- Debian security tracker: CVE-2026-109618Per-release fixed packages. It records package fixes, not worker restarts.
- CISA Known Exploited Vulnerabilities catalogNeither CVE was among the entries we could read on 24 October 2026. Re-check before relying on this.
Facts on this page are dated and point at the primary source next to them. If a vendor status changes after the date shown, the vendor's page wins; tell us at support@run.cloud and we will update it.