Status (October 23, 2026):
- Edge protection: Web application firewall (WAF) rules on Upsun Cloud’s edge layer block known attack patterns against every site hosted on Upsun Cloud, patched or not. They’re a first line of defense: only a patched PHP version fixes the vulnerabilities.
- Patched images: Every
phpruntime image from PHP 7.2 to 8.5 is patched, and affected environments are redeployed, including all Dedicated clusters. - Failed redeploys: Upsun Cloud is notifying each affected customer directly.
- PHP in the composable image: Patched PHP versions are rolled out for composable image version 26.05.
- Notified that the patch couldn’t be applied: Your environment still runs a vulnerable PHP version. Fix the failed deployment now.
- PHP 8.4 or 8.5: Nothing. Your app runs a patched version.
- PHP 7.2 to 8.3: Your app is patched, but these versions are deprecated or retired. Upgrade to PHP 8.4 or later as soon as possible.
- PHP 7.1 or earlier: No patch exists. Upgrade now.
- PHP in composable image 26.05: Nothing. Your app runs a patched version.
- PHP in an earlier composable image version: Switch to version 26.05 to get the patch.
Update history
- October 23, 2026, 03:54 UTC: Upsun Cloud finished rolling out patched PHP versions for apps that run PHP in composable image version 26.05.
- October 22, 2026: Upsun Cloud rolled out patched images for PHP 7.2 and 7.3.
- October 22, 2026: Upsun Cloud started notifying customers whose environments couldn’t be redeployed automatically because of an issue in their app’s code or configuration.
- October 22, 2026: Upsun Cloud contacted customers who run PHP on the composable image or on PHP 7.3 or earlier.
- October 22, 2026, 04:12 UTC: Upsun Cloud finished deploying the patch to all Dedicated clusters.
- October 21, 2026, 23:35 UTC: Upsun Cloud finished rolling out patched images for PHP 7.4 to 8.5, including backported fixes for 7.4, 8.0, and 8.1. The composable image update is still in progress.
- October 21, 2026, 16:00 UTC: First published.
- October 21, 2026, before the PHP release: Upsun Cloud deployed WAF rules and other mitigations on its edge layer to block known attack patterns. They remain in place for every site hosted on Upsun Cloud, patched or not.
What was fixed
The release addresses two vulnerabilities, both rated 9.2 (critical) on the CVSS v4.0 scale. CVSS (Common Vulnerability Scoring System) rates the severity of vulnerabilities from 0 to 10, and scores of 9.0 or above are critical.
The researchers who discovered the vulnerabilities call the pair “PHP2Shell”.
For their overview, see php2shell.com.
According to the PHP project, every PHP installation that serves web requests is at risk.
This includes PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP, and LiteSpeed.
The risk is highest for mod_php, where an unauthenticated request can trigger the attack before any application code runs.
How the vulnerabilities work
Both vulnerabilities are memory-safety bugs in PHP itself, not in application code. Your app can be affected even if its own code is secure.- CVE-2026-109618: When PHP runs out of memory, it jumps straight out of the current operation. During request startup, for example while PHP parses the request body, some request memory is reachable before it’s fully initialized. If memory runs out at that moment, PHP’s cleanup code later treats the half-initialized data as valid. The fix replaces the immediate jump with a graceful out-of-memory error at a safe point.
- CVE-2026-109619: PHP workers handle many requests in a row and keep some global state between them. If a request ends abruptly, for example with a fatal error, that state can still point to memory that’s already been freed. Some operations at the start of the next request read this stale state before PHP resets it. The fix resets all global state before those operations run.
Affected and patched versions
The following table maps each PHP branch to its patched version on Upsun Cloud:
The PHP project released official patched versions for PHP 8.2 through 8.5.
For PHP 7.2 to 8.1, there’s no new upstream release: Upsun Cloud’s patched images apply backported fixes to the last release of each branch.
Upsun Cloud has rolled out patched images for every version in this table.
Check your PHP version
How you check depends on your PHP version. PHP 8.2 to 8.5: The PHP project released new version numbers, so check the PHP version:main with your environment name and myapp with your app name.
If your project has a single app, you can omit --app.
The output should show the patched version from the table above, for example PHP 8.4.27.
PHP 7.2 to 8.1: The fixes are backports without a new version number, so php -v still shows the old version.
Check the image instead:
abcdefgh1234567 with your project ID and main with your environment name.
The output should show the patched image from the table above, for example php:8.1 :1424.
If your app still shows a vulnerable version, its last deployment might have failed.
See If the automatic redeploy failed.
If the deployment succeeded, contact Upsun Cloud support.
Retired PHP versions
PHP 8.1 and earlier are end of life and retired on Upsun Cloud.- PHP 7.4, 8.0, and 8.1: The PHP project no longer releases new versions, but its security team published source backports. Upsun Cloud’s patched images for these versions are based on those backports.
- PHP 7.2 and 7.3: No official backports exist, but Upsun Cloud went further and rolled out patched images for these versions too.
- PHP 7.1 and earlier: No fix exists for these vulnerabilities. The only fix is to upgrade to a supported PHP version. Upsun Cloud has contacted every customer who runs these versions.
What you need to do
If your app uses aphp runtime image on PHP 7.2 or later, or runs PHP in composable image version 26.05, Upsun Cloud has updated it with a patched version.
You don’t need to do anything to get the patch, unless Upsun Cloud notified you that the redeploy failed.
To confirm, check your PHP version.
Take action if any of the following applies to you:
- Upsun Cloud notified you that the patch couldn’t be applied: Fix the failed deployment.
- Your app runs PHP 8.3 or earlier: Upgrade to a supported PHP version.
- Your app runs PHP in a composable image version earlier than 26.05: Switch to version 26.05.
If the automatic redeploy failed
For some environments, the automatic redeploy failed because of an issue in the app’s code or configuration, such as a failing build or deploy hook. These environments still run a vulnerable PHP version. Upsun Cloud didn’t change their code or configuration and is notifying the affected customers directly. To get the patched version:-
Find the error in the log of the latest failed activity, in the Console or with the CLI:
Replace
mainwith your environment name andACTIVITY_IDwith the ID of the failed activity. - Fix the error in your code or configuration, and then push the change. The new deployment uses the patched PHP image.
- Check your PHP version.
Upgrade to a supported PHP version
To upgrade, change thetype of your app in your configuration file.
This example uses PHP 8.5, the latest version:
Optional: disable session upload progress
For an extra layer of protection, disable thesession.upload_progress.enabled PHP setting.
According to the PHP project, this blocks the confirmed session-based attack paths for CVE-2026-109619, but not other variants.
It reduces exposure but doesn’t replace the patched versions.
This setting is rarely needed: it only powers upload progress bars that rely on PHP sessions.
To apply it across all environments in your project, use the Upsun CLI:
php.ini file at your app root:
ini_set() or a .user.ini file for this setting.
They apply too late in the request to block the attack.
If your app runs PHP 8.5, also set fatal_error_backtraces to Off the same way, for example:
If you run PHP in the composable image
In the composable image, PHP comes from the image version set in your configuration. Upsun Cloud rolled out the patched PHP versions for composable image version 26.05 on October 23, 2026.- Version 26.05: You don’t need to do anything. To confirm, check your PHP version with
php -v. - Earlier versions: They don’t get the patched PHP versions. Switch to version 26.05.
type of your app in your configuration file:
Outside Upsun Cloud
Upgrade PHP to the patched versions anywhere else you run it, including:- Local development machines
- Docker images
- CI pipelines
rpms.remirepo.net, the PHP project recommends switching to distribution packages or building from source.
That repository didn’t have updates on the release day.
How Upsun Cloud responded
Upsun Cloud was aware of the vulnerabilities before the public announcement. Its response had three parts: protection at the edge, patched PHP images, and direct outreach for the cases a standard rollout doesn’t cover.Before the release: mitigation at the edge
The edge is the network layer that handles traffic before it reaches your app. Upsun Cloud’s edge layer sits in front of every cluster and site. Before the PHP release, Upsun Cloud deployed WAF rules and other mitigations on this layer. They block known attack patterns against every site hosted on Upsun Cloud, patched or not. This works as a virtual patch: it reduces exposure until PHP itself is patched. The rules remain in place as an extra layer of protection on top of the patched PHP images. Some projects also route traffic through a CDN such as Fastly. Self-service projects don’t include a CDN by default. Where a CDN is in place, its own mitigations add further protection.After the release: patched PHP images
As soon as the PHP project published the patched versions, Upsun Cloud built patched PHP images. Images for PHP 8.2 and later came first, because the PHP project released official versions for them. Images for PHP 7.4, 8.0, and 8.1 followed, based on the PHP project’s source backports. Images for PHP 7.2 and 7.3 followed on October 22, 2026. Upsun Cloud then automatically redeployed every environment that uses aphp runtime image, project by project and region by region.
Each site went offline briefly while its environment redeployed.
The redeploy didn’t change any code or configuration.
If an app’s build or deploy failed, the environment kept running its previous PHP version.
The rollout of patched images is complete, including all Dedicated clusters, and Upsun Cloud continues to monitor the platform.
Beyond the standard rollout
Upsun Cloud also covered the cases that a standard rollout leaves out:- Versions PHP no longer supports: Upsun Cloud rolled out patched images for PHP 7.2 to 8.1. Customers on these versions got the fix without having to upgrade.
- Versions too old to fix (PHP 7.1 and earlier): Upsun Cloud contacted every affected customer directly, so no one had to find out from the status page.
- Environments where the automatic redeploy failed: Upsun Cloud is notifying these customers directly.
- Every site, patched or not: The WAF rules on the edge layer remain in place and block known attack patterns. They’re a first line of defense, not a fix: if your app still runs a vulnerable PHP version, fix or upgrade as soon as you can.
Acknowledgments
Upsun Cloud thanks the researchers who discovered and responsibly disclosed these vulnerabilities:- Wiz Research: Sagi Tzadik, Shir Tamari, Nir Ohfeld, and Tomer Schwartz
- OpenAI Codex Security: Amy Burnett
- Calif: Ryan A.