The Language of the Web Just Became an Attack Vector
When Core Infrastructure Turns Against You
Every security model rests on assumptions about what can be trusted. We assume the kernel handles memory safely. We assume TLS terminates correctly. We assume the interpreter running our code doesn't hand remote attackers the keys to the server. That last assumption just broke.
PHP powers roughly 77% of websites with a known server-side language. It sits beneath WordPress, Drupal, Laravel applications, and countless custom line-of-business tools. When a vulnerability emerges in PHP itself, the blast radius isn't measured in individual applications; it's measured in the architecture of the modern web. This isn't about a bug in your code. This is about the runtime your code depends on becoming the entry point.
What makes this particularly dangerous is the exploitation mechanism: memory corruption triggered by out-of-memory conditions. Attackers don't need to find a flaw in your application logic. They need to force PHP into a state where its own error handling becomes the vulnerability. The interpreter's attempt to recover from resource exhaustion leaves memory uninitialized, and the cleanup routine reads that corrupted state. The result is unauthenticated remote code execution.
CVE-2026-109618: Turning PHP's Safety Valve Into a Weapon
CVE-2026-109618 exploits a fundamental design choice in PHP's error handling. When PHP encounters an out-of-memory condition, it uses longjmp() to bail out of the current execution context. The problem: not all code paths properly reset request memory before this jump occurs. Memory remains uninitialized, and when PHP's cleanup routines run, they read or branch on garbage data. Attackers who can reliably trigger OOM conditions can shape what that "garbage" looks like.
CISA added this vulnerability to the Known Exploited Vulnerabilities catalog on October 26, 2026, five days after public disclosure. Exploitation attempts were observed before the patches were even announced. The vulnerability carries a CVSS score of 9.8, network-accessible with no authentication required and no user interaction needed. The CWE classifications tell the story: use-after-free (CWE-416), improper handling of exceptional conditions (CWE-755), access of uninitialized pointer (CWE-824), and improper control of a resource through its lifetime (CWE-1325).
Research from the security community indicates that while proof-of-concept exploits require tuning to specific PHP configurations, environments with standardized builds present a different risk profile. Network appliances, managed hosting platforms, and containerized deployments that share identical PHP builds can be targeted with a single, carefully crafted exploit. One working payload reaches every instance running that build. Criminal forums have reportedly scrambled to patch their own infrastructure, which tells you everything you need to know about how seriously threat actors are taking this.
Affected Versions
| Product | Affected Versions | Status |
|---|---|---|
| PHP 8.2 | 8.2.0 through 8.2.34 | Vulnerable |
| PHP 8.3 | 8.3.0 through 8.3.35 | Vulnerable |
| PHP 8.4 | 8.4.0 through 8.4.26 | Vulnerable |
| PHP 7.x | 7.3.0 and later | End of Life, no patch available |
| Siemens RUGGEDCOM APE1808 | All firmware versions | Check vendor advisory |
| Palo Alto PAN-OS | 10.2.0 through 10.2.7 | Vulnerable |
Patched versions:
- PHP 8.2.35
- PHP 8.3.36
- PHP 8.4.27
Obtain patches from the official PHP downloads page (https://www.php.net/downloads) or your distribution's package repository. For PAN-OS, consult Palo Alto Networks security advisories for updated release information.
End of Life warning: PHP 7.x branches are no longer receiving security updates. Systems running PHP 7.3 through 7.4 remain permanently vulnerable. Migration to a supported 8.x branch is the only remediation path.
What This Actually Means If You're Exposed
An attacker who successfully exploits this vulnerability achieves code execution with the privileges of the PHP process, typically the web server user. From that position, they can read application source code, access database credentials stored in configuration files, and pivot to backend systems. If PHP runs with elevated privileges or the web server user has broad filesystem access, the attacker inherits those capabilities.
The attack path starts with any network-reachable PHP endpoint. The attacker sends crafted requests designed to trigger memory exhaustion in specific code paths, forcing the vulnerable longjmp() behavior. Once code execution is achieved, standard post-exploitation follows: credential harvesting, lateral movement, persistence mechanisms, and data exfiltration. Because this is a pre-authentication vulnerability, every internet-facing PHP application becomes a potential entry point regardless of its own security posture.
What To Do About It
- Patch immediately to PHP 8.2.35, 8.3.36, or 8.4.27 depending on your branch. Use your distribution's package manager (
apt,yum,dnf) or compile from source from php.net.
- Migrate off PHP 7.x if you have not already. No patch is available, and none will be released. This is a forcing function for an overdue upgrade.
- Review PHP process privileges. Ensure PHP runs under a dedicated low-privilege user with minimal filesystem access. Restrict write permissions to only directories that require it.
- Implement memory limits at the web server level as a defense-in-depth measure. Configure
memory_limitin php.ini to values appropriate for your application, and set equivalent limits in Apache/nginx to prevent unbounded resource consumption.
- Monitor for anomalous request patterns. Look for requests generating unusual memory pressure, repeated 500-series errors, or process crashes. In web server logs, watch for high request volumes to unusual endpoints or requests with abnormally large bodies or query strings.
- If immediate patching is not possible, consider placing a web application firewall in front of vulnerable endpoints. This is a temporary measure, not a solution. Some WAF rules targeting memory exhaustion patterns may reduce exposure, but determined attackers will find bypasses.
- For appliance-based PHP deployments (PAN-OS, RUGGEDCOM, etc.), check vendor advisories and apply firmware updates as released. These environments cannot be patched independently.
The Infrastructure You Forgot You Depend On
This vulnerability is a reminder that the components we treat as stable foundations are themselves software, with bugs, edge cases, and security boundaries that can fail. PHP's ubiquity means this single CVE touches web servers, network appliances, content management systems, and custom applications alike. The organizations that move fastest to patch, or that already maintain current PHP versions as standard practice, will weather this. Those running end-of-life interpreters or treating PHP updates as optional maintenance will learn otherwise.
Patch this week, not next month.