Wiz Research uncovered multiple crucial vulnerabilities in center PHP, a famous general-purpose scripting tongue that powers 70% of all websites in the world. Successful exploitation could authorize attackers to obtain authority of affected servers, pilfer delicate data, and deface the websites operating on them.
PHP is a backbone of the web: it’s the programming tongue powering WordPress, Joomla, Drupal, Wikipedia’s MediaWiki, and many others.
These vulnerabilities contain recollection disclosure and unauthenticated distant code implementation in PHP itself, autonomous of the use operating on top of it, putting all affected website in contiguous risk.
Every PHP type released in the final decade is affected by at smallest one of these vulnerabilities, going rear to type 5.4. Attackers can utilize them remotely, in several cases fairly easily. Immediate patching is powerfully advised.
On October 21, 2026, PHP released the patch fixing multiple memory-safety vulnerabilities in the center engine.
These findings position among the most serious vulnerabilities discovered in PHP, and arguably in application history. The underlying flaws had been current for decades, but demonstrating their exploitability required an exceptionally complex sequence of steps, at the border of what individual researchers could practically achieve. Frontier AI models substantially reduced that barrier, turning a longstanding flaw into an exploit.
In this post, we explain how frontier AI helped us discover and fix vulnerabilities that had remained hidden in the PHP codebase for additional than a decade. The issues described below all stem from key architecture decisions, several made complete a decade ago, and were grouped under two CVEs, alongside severity reaching CVSS 9.2. The activity grew into a cross-industry attempt to defend customers, discover variants, deploy detections and mitigations, and verify a place in period for coordinated disclosure.
Nearly all PHP type is affected by at smallest one of these issues, including releases courtship rear to PHP 5.4. The vulnerabilities can authorize unauthenticated attackers to execute code on affected servers or peruse delicate procedure memory. That recollection may merge passwords, authentication tokens, API keys and certificates belonging to another requests or the server itself.
PHP is the programming tongue rearward much of the web, powering WordPress, Drupal and MediaWiki, the application that runs Wikipedia. A flaw in its center motor can power websites throughout this ecosystem, equal whenever their own use code is secure.
Some vulnerabilities rotate into turning points since they difficulty essential assumptions concerning security. In 2014, Heartbleed exposed the fragility of shared infrastructure securing the internet. In 2021, Log4Shell revealed how deeply embedded application requirements could create general visibility that organizations struggled to identify. We accept PHP2Shell could grade a akin turning item for the AI era, illustrating how AI can alter the applicable exploitability of longstanding vulnerabilities. Building the utilize required chaining multiple flaws and adapting to all target’s recollection layout through repeated evaluation and debugging. Frontier models were crucial to making this procedure practical, enabling us to create and modify operating exploits throughout multiple applications in hours. As the period and ability required for this activity decrease, complexity may no longer provision a meaningful barrier, changing how we define what is susceptible in practice.
Wiz Research would akin to appreciate the PHP team, Calif and OpenAI for their activity on discovery, coordination and place verification. OpenAI and Calif additionally published blogs containing particulars on the exposure – its history, specialized details, and understanding into the disclosure process. PHP posted as well.
We’d additionally akin to province our sincere gratitude towards Automattic, Akamai, AWS, Cloudflare, Fastly, Google, Imperva, Microsoft, Vercel, and many others, for assisting prepared direction and out-of-the-box mitigations for customers who cannot use the place immediately.
Wiz customers should mention to the Wiz Threat Intel Center advisory for PHP2Shell, which includes built-in safety for agentless and runtime exposure detection, exploitation finding via Wiz Defend and Sensor, and automatic reply policies, alongside remediation and danger hunting guidance.
Sensor customers can additionally allow a built-in reply guideline to automatically terminate processes exhibiting behaviors representative of PHP2Shell exploitation:
All of the disclosed vulnerabilities are memory-safety issues that stem from bugs in how PHP handles fatal errors during handling requests, particularly out-of-memory errors. These bugs can depart a corrupted inner PHP province rearward following a petition ends unexpectedly. A afterward petition or employee can reuse that old state, foremost to recollection disclosure or corruption.
Below you can discover a array that demonstrates what category of effect was demonstrated by all of the bugs we reported to PHP. The applications listed below are targets we chose for the RCE demonstrations. They are delegate targets - exploitation does not necessitate one of these CMSs, as the susceptible code is in PHP itself.
While this blog covers lone four instances of exploitable bugs (grouped under two CVEs) that prosecute this problematic pattern, there are another tracked, and apt untracked, variants of this matter in the PHP codebase. These variants have distinct requirements for exploitation and can guide to distinct types of impact. In any case, the place provided by the PHP squad fixes the matter at its center and eliminates all variants in the patched release.
We blended these vulnerabilities into a sole utilize script, php2shell, and demonstrated that it could execute code remotely without authentication on deployments of WordPress (wordpress:latest), Drupal (drupal:latest), and Joomla (joomla:latest), using their latest receptacle images at the period of testing.
These platforms exemplify the impact, but the vulnerabilities are in PHP itself. Exploitation does not depend on a flaw in the application’s code: equal a uncomplicated “Hello World” use operating on an affected PHP type can be vulnerable.
Separately, we demonstrated that attackers could peruse delicate data from the PHP process’s memory, including passwords, tokens, and API keys, without needing to accomplish distant code execution.
Demonstrations of PHP2Shell alongside Wordpress, Joomla, and Drupal:
The susceptible code had been current for additional than a decade. Turning these flaws into operating exploits required chaining multiple bugs and accounting for how PHP allocates and reuses recollection throughout requests. Memory bugs are notoriously complex; differences in PHP versions, configurations and use behavior can interrupt assumptions the utilize depends on. An assault that plant against one deployment may need significant adjustments to activity against another, all requiring additional analysis, evaluation and debugging. Pre-AI, this manual activity would be difficult to execute and equal harder to scale.
With AI this is no longer a barrier. LLMs can assistance modify an utilize to distinct PHP versions, configurations and recollection layouts. With evaluation and debugging tools, models can analyze failures and iterate on adjustments, reducing the expert attempt required for all target. This considerably lowers the obstacle to scaling attacks throughout distinct deployments.
This changes the economics of the two finding and exploitation. As AI reduces the attempt needed to create and modify complex exploits, vulnerabilities that formerly seemed impractical to utilize rotate into viable targets.
We used Wiz Atlas, Gemini 4 Argon and GPT-5.6 Sol throughout this research. Notably, Gemini 4 Argon made an priceless contribution to finding the vulnerability, utilize development, assault detection, and validation of the patch.
Using Gemini 4 Argon, the squad at Wiz has shown why frontier AI is a game-changer for cyber defense. For complete a decade, these crucial vulnerabilities remained unaddressed since exposure finding and exploitation were incredibly complex. We're pleased to see Gemini 4 Argon assistance defenders extend that gap, finding vulnerabilities and assisting place them.
Raluca Ada Popa, Head of Gemini Security, Google DeepMind
Prior to community disclosure, Wiz Research worked alongside the PHP team, Calif and OpenAI on discovery, coordination and place verification. We additionally partnered alongside Google Cloud, Cloudflare, AWS, Microsoft, Automattic, Fastly, Akamai, Imperva, Vercel and many others to prepared client guidance, detections and out-of-the-box mitigations for organizations that cannot update immediately.
A exposure in center PHP reaches far beyond a sole application. PHP runs throughout clouds, hosting providers, content-delivery networks and millions of independently managed servers. Reducing visibility before the specialized particulars became community required coordinated activity throughout that complete ecosystem.
Bug: Upload-progress unserializer use-after-free
PHP's Session component can decode meeting data during upload-progress handling in the identical pre-initialization window. The decoder stores request-owned bookkeeping in BG(unserialize). A fatal allocation nonaccomplishment can interrupt this path, demolish the petition heap and depart the unserializer's earth province published.
On a afterward petition handled by the identical worker, PHP can consume attacker-reclaimed recollection as live unserializer bookkeeping. The old province becomes a mighty memory-corruption primitive. We blended it alongside the recollection disclosure to eliminate location doubt and achieved unauthenticated distant code implementation on WordPress, Drupal and Joomla.
The WordPress, Drupal and Joomla chains are delegate demonstrations. The underlying primitives be at the PHP motor flat and can power any PHP use operating on a susceptible version.
These issues execute below the use layer, so use logs may merge small context. Until systems are patched, defenders should pay particular notice to different multipart requests followed by memory-limit errors or repeated HTTP 500 responses, unexpectedly ample or malformed PHPSESSID reply cookies, and unexplained PHP employee churn. These signals can guide an investigation. Applying the PHP safety update remains the lone complete remediation.
Bug: Remote process-memory disclosure
PHP parses RFC1867 multipart requests during petition startup, before normal component initialization has completed. Session upload-progress handling can initialize Session province at this first phase and publish a meeting ID in PS(id). An out-of-memory error can abort the petition before cleanup completes. PHP afterward destroys the petition heap and may depart PS(id) pointing to the freed allocation.
A afterward multipart petition handled by the identical employee can attain the upload-progress cleanup way before normal Session initialization resets that pointer. PHP trusts the old pointer and dimension as a live zend_string and URL-encodes the reclaimed heap contents into a PHPSESSID reply cookie. The assault plant equal whenever the use never calls session_start(), making the matter application-agnostic. We demonstrated unauthenticated disclosure of an attacker-sized area of live employee recollection containing data from exterior the attacker's request.
Bug: Fatal-error backtrace use-after-free
In affected versions, PHP retains the backtrace of the most latest fatal error in EG(last_fatal_error_backtrace). A fatal out-of-memory error can demolish the petition heap without undefining that executor-global value. The employee survives alongside a earth that motionless points to recollection from the former request.
If the identical employee emits a diagnostic first in the next request, it can admission the pointer before the administrator reinitializes that state. PHP afterward destroys or updates the dangling backtrace and follows attacker-reclaimed memory. The resulting cross-request use-after-free can be developed into controlled recollection corruption. We demonstrated unauthenticated distant code implementation against Drupal using this primitive.
Bug: OPcache category confusion
OPcache persists compiled PHP structures in shared recollection and assigns indices into per-worker runtime-pointer maps. Workers coordinate those indices through a shared frontier. During zend_accel_script_persist(), PHP advances the process-local CG(map_ptr_last) frontier. It publishes the corresponding shared frontier lone following persistence completes. An allocation nonaccomplishment between those two events leaves the process-local advancement in location and partially persisted objects referring to slots that the shared province motionless considers available.
When another employee afterward reuses one of those slots for a distinct runtime object, old shared metadata resolves to a pointer of the incorrect type. The mismatch creates a cross-worker category disturbance and corrupts shared OPcache state. We used this primitive to build an unauthenticated RCE sequence against WordPress.
There are another variants exterior of these four bugs. While we initially reported these four to PHP, through this investigation we realized the exposure is deeply established in the PHP codebase and volition necessitate a thorough fix. Other variants should additionally fold under the identical two CVEs.
With 70% of the Internet affected, the effect of PHP2Shell cannot be overstated. It marks an AI inflection point. The susceptible code had been there for additional than a decade – what AI changed was the capability to comprehend the weaknesses and rotate them into a operating exploit. With frontier AI models and the correct tools, a sole investigator completed in a week what earlier would have taken a world-class squad months of work.
This changes the economics of the two finding and exploitation. Vulnerabilities that formerly seemed impractical to utilize rotate into viable targets. These identical capabilities additionally provision defenders a chance to reveal and fix flaws that have survived years of scrutiny.
Wiz used Wiz Atlas, Gemini 4 Argon, and GPT-5.6 Sol throughout this research, alongside Argon making a particularly important contribution to finding and assisting to remediate the vulnerability.
The chance is to create this activity routine: systematically finding flaws in existing application and catching new ones before they attain production. Our coordinated efforts alongside PHP, OpenAI and Calif advancement that goal, applying AI to fortify the application foundations we all share.
August 19, 2026: Wiz Research discovers the archetypal PHP exposure using Wiz Atlas, Gemini 4 Argon, and GPT-5.6 Sol.
August 20, 2026: Unauthenticated RCE is confirmed against Drupal.
August 21, 2026: Unauthenticated RCE is confirmed against WordPress.
August 24, 2026: Wiz Research reports the vulnerabilities to the PHP safety team.
September 21, 2026: PHP acknowledges the reports and starts evolving a coordinated fix.
October 21, 2026: Patched PHP releases rotate into available.
October 21, 2026: Public disclosure.
Hi there! We are Sagi Tzadik, Shir Tamari, Nir Ohfeld and Tomer Schwartz from the Wiz Research Team (@wiz_io). We are a collection of seasoned white-hat hackers alongside a sole goal: to create the haze a safer location for everyone. We concentration on finding new assault vectors in haze application and finding isolation issues in the systems organizations depend on. We would affection to comprehend from you on X or at [email protected].