Products and stacks · Hosting platforms and server managers
PHP2Shell in Azure App Service (PHP): is it affected and how to fix it
How to check the PHP version Azure App Service (PHP) uses
Run the command for your setup. A version at or above 8.2.35, 8.3.36, 8.4.27 or 8.5.12 in its branch is fixed; older branches are fixed only by a vendor build that says so.
php --version
echo $PHP_VERSIONRun these in the app's SSH console (Kudu WebSSH at https://<app-name>.scm.azurewebsites.net/webssh/host). In the portal, Stack settings shows the PHP major.minor and the Platform Release Channel.
The command-line php can differ from the PHP that serves the site. To be sure, check the web SAPI (a temporary phpinfo() page behind authentication, or the panel's PHP settings) and remove it afterwards. Our version checker compares a version number for you.
🔎 Got a version number? Paste it into the PHP2Shell checker →
How to fix PHP2Shell in Azure App Service (PHP)
- If the app is on the Extended Platform Release Channel, switch it to Standard or Latest (portal → your app → Stack settings → Platform Release Channel → Save). Microsoft suggests Latest for internet-facing or high-risk apps.
- Confirm the running version over SSH is 8.2.35, 8.3.36, 8.4.27 or 8.5.12 or later; restart the app if it still reports the old one.
- Custom container or your own PHP build: rebuild the image on a fixed PHP release and redeploy. Azure does not patch it for you.
- PHP 8.1 or older: changing the channel does not help. Move the app to a supported PHP version and test it.
- WordPress on App Service on an Alpine image: migrate to the Debian-based image.
- Install the vendor's fixed release or packages listed above.
- Restart every PHP process (PHP-FPM pools, Apache with mod_php, LiteSpeed lsphp, queue workers); a running process keeps the old PHP in memory.
- Confirm the running version again with the check commands.
Prefer to let an AI agent do the checks? Check if you are affected · Fix with an AI agent
If you cannot patch yet
- Set
session.upload_progress.enabled = 0where applications cannot override it (php.ini,php_admin_valuein the FPM pool or Apache config), and restart PHP. - On PHP 8.5, set
fatal_error_backtraces = 0. - PHP's interim advice also covers
memory_limitand a lowpost_max_size; follow the remediation page exactly, because these settings only reduce some paths. - Restrict access (VPN, IP allowlist) or take the service offline if it runs PHP 8.1 or older with no vendor backport. WAF rules help but are not a fix.
FAQ
Is Azure App Service (PHP) affected by PHP2Shell?
Affected; a fix exists for some versions or components only. The App Service team says patched built-in PHP images for App Service on Linux finished rolling out on 21 October 2026 to the Latest and Standard Platform Release Channels: PHP 8.2.35, 8.3.36, 8.4.27 and 8.5.12. The Extended channel gets the fix last. Custom containers and bring-your-own PHP runtimes are not patched by Azure, end-of-life PHP versions get nothing, and WordPress on App Service images still on Alpine are left unpatched (Microsoft points to its Alpine-to-Debian migration guide). The post covers Linux only; it says nothing about Windows-hosted PHP.
Does updating Azure App Service (PHP) itself fix CVE-2026-109618 and CVE-2026-109619?
Only if the update contains fixed PHP. PHP2Shell is a flaw in the PHP interpreter, so what matters is the PHP that Azure App Service (PHP) runs on. Check the version after updating.
Which PHP versions fix PHP2Shell?
PHP 8.2.35, 8.3.36, 8.4.27 and 8.5.12, released 21 October 2026. PHP 8.1 and older get no release from the PHP project; only vendor builds with a backport (or a self-built source patch for 7.4, 8.0 and 8.1) fix them.
What if Azure App Service (PHP) has no fix yet?
Keep its PHP-based web interface off the internet (VPN or IP allowlist), apply PHP's interim settings such as disabling session upload progress, and install the vendor update as soon as it ships. Interim settings reduce risk but are not a fix.
Related products
- Laravel ForgePatch your OS / host PHP
- RunCloudNo vendor advisory
- ServerPilotNo vendor advisory
- AWS: Amazon Linux, Elastic Beanstalk, LightsailPartly fixed
← All products that bundle PHP
See also: Remediation by platform · Affected versions · Vendor status
Sources
- Azure App Service blog: Critical PHP security release (21 Oct 2026)
- PHP advisory GHSA-w8hw-w9fx-j79w
- PHP advisory GHSA-6wmf-4rv5-p3rp
Outbound links leave this site. We do not host exploit code.
Unofficial summary of public sources. This site is not affiliated with the vendor or the PHP project and hosts no exploit code.