Blog
June 4, 2026
CVE-2026-6735 is a high-severity PHP vulnerability that impacts the PHP-FPM status endpoint. It highlights a common issue in modern application environments, which is that even operational or diagnostic interfaces can introduce meaningful risks when not properly secured.
In this blog, I explain how CVE-2026-6735 works and what it means for your organization. I go through the technical context, outline the potential risks, and provide practical mitigation steps you can take now to protect your PHP applications.
Back to topWhat Is CVE-2026-6735?
CVE-2026-6735 is a vulnerability that affects the PHP-FPM status endpoint in certain versions of PHP. It stems from improper sanitization of user-controlled data, which allows an attacker to craft a malicious URL that may result in cross-site scripting (XSS) when the status page is viewed in a browser.
The vulnerability affects:
- All PHP versions prior to 8.2
- PHP 8.2.0 - 8.2.30
- PHP 8.3.0 - 8.3.30
- PHP 8.4.0 - 8.4.20
- PHP 8.5.0 - 8.5.5
While not all environments expose the PHP-FPM status endpoint, those that do — especially without access controls — may be vulnerable. This CVE can lead to serious outcomes, including session hijacking, data exposure, unauthorized actions carried out by the attacker, and other consequences.
You can learn more about CVE-2026-6735, as well as other recently disclosed CVEs, by visiting the Zend Security Center.
Back to topWhen Was CVE-2026-6735 Disclosed?
CVE-2026-6735 was publicly disclosed in May 2026 as part of a group of PHP security fixes. Its inclusion in these releases reflects ongoing efforts within the PHP ecosystem to identify and address vulnerabilities across both core and operational components of the language.
For organizations running production PHP environments, this type of coordinated disclosure underscores the importance of regular patching and proactive vulnerability management.
On-Demand Webinar
How to Build a PHP Security Roadmap
Watch along and learn how to address security vulnerabilities in your PHP applications today and safeguard critical systems in the future.
Who Does CVE-2026-6735 Impact?
CVE-2026-6735 primarily impacts teams that:
- Use PHP-FPM for process management
- Run affected PHP versions
- Have the PHP-FPM status endpoint enabled
The level of risk varies depending on how the status endpoint is configured. Organizations with publicly accessible or weakly protected endpoints are at greater risk. Conversely, environments where access is tightly controlled or the endpoint is disabled altogether will have significantly reduced exposure.
Back to topHow Does CVE-2026-6735 Work?
CVE-2026-6735 exists because user-supplied data can be improperly handled and reflected within the PHP-FPM status page without sufficient sanitization.
An attacker can construct a specially crafted URL containing malicious JavaScript. If a user — such as a developer or administrator — visits the PHP-FPM status page using that URL, the injected script may execute in the context of their browser.
This type of attack depends on user interaction, meaning the target must access the page. However, that requirement does not eliminate risk, particularly in environments where:
- The status page is exposed to internal users without restrictions
- Monitoring tools or dashboards link directly to it
- Administrators routinely access it for debugging or performance checks
In these scenarios, an attacker only needs to get a user to interact with a malicious link.
Learn More About PHP Vulnerabilities
Back to topHow Do I Mitigate CVE-2026-6735?
When CVEs are disclosed, it is critical to take steps to safeguard your applications against exposure. CVE-2026-6735 is no exception. Use these strategies to keep your PHP apps secure and protected.
Upgrade to a Patched PHP Version
The most effective way to mitigate CVE-2026-6735 is to upgrade to a patched PHP version. The PHP community has released security updates addressing this vulnerability across supported versions, and applying those updates should be the first priority for any team managing PHP applications.
For organizations running older or unsupported PHP versions, Zend provides extended protection by backporting fixes for CVE-2026-6735 across its supported ZendPHP builds and Zend Server releases. These patches cover a wide range of affected versions — including legacy releases from PHP 7.1 through modern 8.X branches — helping ensure continued protection even when immediate upgrades are not possible.
If an immediate PHP update is not possible, there are additional steps you can take to reduce exposure and protect your PHP-FPM environments.
Restrict PHP-FPM Status Page Access
One step you should take regardless of ability to upgrade is to limit access to the PHP-FPM status page.
The PHP-FPM status page is a feature of PHP-FPM pool configuration. In a pool, you enable it using the following configuration:
pm.status_path = /statusThis status page provides the pool name, process manager type, accepted connections, active/idle processes, and queue depth, all of which can provide vital information for properly tuning your PHP-FPM pool. The page is often used within monitoring or metrics systems to understand PHP-FPM pool health.
When enabled, it is exposed as part of the PHP-FPM pool, so any client that has access to the pool will have access to the status page. Generally speaking, the pool will listen on localhost only, but sometimes you will expose it over a network (e.g., if placing a web server in front of several servers running different PHP-FPM pools). It is important to ensure that your pool is not accessible via public networks. Set the “listen” directive to a non-public IP, such as “127.0.0.1”, or one of the private network IP segments (192.168.0.0/16, 172.16.0.0/12, or 10.0.0.0/8).
Because the PHP-FPM pool communicates using the FastCGI protocol, some tools are unable to access the endpoint easily. As such, some organizations will add configuration to their web server to expose the status endpoint using standard location blocks:
In nginx, that might look like:
location ~ ^/status$ {
include fastcgi_params;
fastcgi_pass php-pool:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
allow 127.0.0.1;
deny all;
}In Apache HTTPd:
<LocationMatch "^/status$">
ProxyPass "fcgi://php-pool:9000/status"
Require ip 127.0.0.1
</LocationMatch>What is important when using this approach is to limit access to specific IP addresses or address ranges. In the examples above, nginx does this via the allow 127.0.0.1 directive, while Apache HTTPd accomplishes it via the Require ip 127.0.0.1 directive. If you fail to do this, you will expose these paths publicly, which will expose you to the vulnerability.
Implement Content Security Policy Headers for the PHP-FPM Status Page
For additional protection, you should implement Content Security Policy headers for the status page. Content Security Policy headers are consumed by browsers and can be used to allow or disallow usage of resources from specific locations, such as Javascript scripts.
For nginx, you would add the following lines into the location directive noted above:
add_header Content-Security-Policy "default-src 'none'; script-src 'none';" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "DENY" always;For Apache HTTPd, you would add these lines into the LocationMatch directive as described above:
Header always set Content-Security-Policy "default-src 'none'; script-src 'none';"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "DENY"Back to top
Final Thoughts
CVE-2026-6735 serves as a reminder that application security extends beyond core functionality. Supporting components like PHP-FPM, status endpoints, and debugging tools can introduce risk when left unprotected. While this vulnerability requires specific conditions to exploit, it still represents a meaningful attack vector, especially in environments where operational tooling is exposed.
The best course of action is to apply patches as soon as possible. For teams that need additional time, restricting access and implementing layered defenses can help reduce exposure in the interim. More broadly, this is a good opportunity to reassess how your organization manages PHP security. Regular updates, proactive monitoring, and strong configuration practices all play a key role in maintaining secure and resilient applications.
PHP Security Solutions
Get Expert Help Securing Your PHP Environment
Zend Professional Services helps secure PHP environments and implement mitigation strategies, while PHP Long-Term Support provides ongoing security patches for unsupported versions, helping you reduce risk and maintain compliance. Learn more via the buttons below.
Additional Resources
- Resource - Zend PHP Security Center
- On-Demand Webinar - How to Tackle PHP Vulnerabilities at Scale
- Guide - Introduction to PHP Security
- Blog - Strategies for Hardening PHP Applications
- Blog - How to Use Web App Performance Metrics to Improve Security