A Windows App Service configured for .NET does not use PHP to execute the .NET application, but the Windows worker can still contain PHP binaries, so verify binary presence and active use separately rather than asserting that no PHP exists anywhere on the worker.
Check whether PHP is present or used
- In the Azure portal, open App Service → Development Tools → Advanced Tools → Go.
- In Kudu, select Debug console → CMD and run:
php --version
where php
tasklist | findstr /i php
Microsoft documents php --version as the way to query the PHP runtime on a Windows App Service instance.^1^
Interpret the results as follows:
-
php is not recognized: PHP is not available through the worker's command path.
- A version is returned, but no PHP process exists: PHP binaries are present, but this does not show that your application is executing PHP.
-
php-cgi.exe or another PHP process exists: determine what started it and whether it handles requests.
Also inspect:
- App Service → Configuration/Stack settings: confirm the selected stack is .NET or .NET Core.
- Kudu → Debug console →
site\wwwroot: look for .php files.
- The deployed
web.config: look for PHP/FastCGI handler mappings or commands that start PHP.
- Application startup scripts and any site extensions.
- If using a custom Windows container, inspect its Dockerfile and image packages; Microsoft does not update custom runtimes that customers upload.^1^
Windows App Service supports multiple framework components in its platform baseline, and application code can start child processes. Therefore, selecting .NET identifies the application stack but is not proof that no PHP binary exists on the underlying worker.^2^
Applicability of CVE-2026-109618 and CVE-2026-109619
Microsoft describes these as critical PHP remote-code-execution issues and advises upgrading PHP; Azure network protections complement patching rather than replacing it.^3^
For your application, the important distinction is:
- PHP merely installed: this alone does not establish that the vulnerable PHP request-processing path is reachable.
- PHP configured as an IIS/FastCGI handler or launched by the application: treat the CVEs as potentially applicable and compare
php --version with the fixed versions identified by the PHP advisory.
- Pure .NET deployment with no PHP files, handler mappings, startup commands, or PHP processes: PHP is not part of the application’s execution path, although platform binaries may still be installed.
PHP on Windows App Service reached end of support in November 2022; Microsoft supports PHP on App Service only on Linux.^4^ Consequently, an old Windows PHP installation should not be assumed to receive a current PHP security fix.
Patch timing
No public completion date or rollout ETA is identified for these CVEs on Windows App Service. For supported built-in runtimes, App Service normally applies PHP patch updates automatically by overwriting the existing installation. Significant vulnerabilities are handled case by case, and deployments can be slowed or paused to prevent outages.^1^
If the checks show that your application actually depends on PHP:
- Windows built-in PHP: migrate to a supported Linux PHP App Service or a maintained custom container; do not rely on an unsupported Windows PHP runtime.
- Linux built-in PHP: check the effective version and, if available for the app, select Stack settings → Platform Release Channel → Latest for the fastest platform runtime updates. This release-channel setting applies only to Linux.^1^
- Custom container: rebuild it with a fixed PHP release and redeploy. App Service does not patch customer-supplied runtimes.
- Need formal confirmation for a specific worker or ASE: open an Azure support request with the app resource ID, region, OS, Kudu
php --version output, and whether it is multitenant or ASE. The hosting model can be identified from the App Service plan: ASE plans use the Isolated v2/v4 tiers, while public multitenant App Service uses Free through Premium tiers.^5^
References
- Azure App Service OS and runtime patching
- Operating system functionality in Azure App Service
- Addressing PHP2Shell CVE-2026-109618 and CVE-2026-109619: upgrade ...
- Configure a PHP app in Azure App Service (platform-windows)
- App Service Environment v3 and App Service public multitenant comparison