PHP2Shell: How AI Found It and Who Went Offline
Who found the PHP2Shell bugs, which AI tools each source credits, and which organisations and products were affected. As of 27 October 2026, no breach of a named organisation is confirmed.
By Mutahar Aslam, Founder & CEO of Paraline Tech7 min read

PHP2Shell is the name for two critical flaws in PHP itself, and they affect almost every PHP site on the web. Two questions about PHP2Shell keep coming up: who found the bug, and how much did AI help? And which big websites and organisations were actually hit? This post answers both, with each claim linked to the source that makes it.
Updated 27 October 2026. This story is still moving. Fix tables and outage lists change daily.
What PHP2Shell is, briefly
PHP2Shell covers two bugs in the PHP engine, CVE-2026-109618 and CVE-2026-109619. The PHP project says both "can allow unauthenticated remote code execution". In plain terms, an attacker may be able to run code on your server without logging in.
- CVE-2026-109618 sits in out-of-memory handling. It can leave request data half set up.
- CVE-2026-109619 lets request state outlive the memory behind it, so a later request can reuse it.
PHP fixed both on 21 October 2026, with one release per supported branch:
| Branch | First fixed release |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
PHP-FPM, Apache mod_php, php-cgi, FrankenPHP and LiteSpeed are all affected. PHP rates the risk highest for mod_php, and it says plainly: "There are no complete mitigations, updating is the only safe choice."
How AI helped find PHP2Shell
Several teams found the same flaw at different times. The sources also credit different AI tools. So here is each credit, next to the source that makes it.
Who reported PHP2Shell, and with which tools
Calif came first. Researcher Ryan Austin at Calif found the first bug on 1 August 2026. Calif reported it to PHP on 11 August and sent a second bug on 21 August. Calif's own write-up names no AI model. It says it used generally available models through OpenAI's "Patch the Planet" initiative, with "No special harness". However, Fortune reports that Calif found the first issue "on Aug. 1 using GPT-5.6 Sol". OpenAI and Wikipedia (citing the Wall Street Journal) give the same model.
Wiz reported on 24 August. Fortune says Wiz identified the issue on 19 August. Wiz and the PHP Foundation both give 24 August as the report date. Wiz names its own tools: "We used Wiz Atlas, Gemini 4 Argon and GPT-5.6 Sol throughout this research." Google Cloud adds that Gemini 4 Argon helped Wiz find the flaw, build an exploit, detect attacks and check the patch. Keep in mind that Google supplies that model, so it has an interest.
OpenAI reported it independently. The PHP Foundation says OpenAI reported the same root cause on its own, then sent more attack paths on 18 September. It thanks "OpenAI Codex Security, especially Amy Burnett". The CVE record lists OpenAI as a finder.
Two names that did not find it
Two other names come up, and neither found this bug:
- Quarkslab's 2024 audit did not find it. While fixing a separate audit finding, a core developer saw "the first signs of the OOM problem". An exploit was theorised, but no concrete path was found.
- Anthropic's Claude Mythos was used by Alpha-Omega to scan PHP earlier in 2026. The Foundation states no findings from that scan.
The Foundation calls the gap between the August reports and the October fix "a structural failure". It now uses AI, including OpenAI's Daybreak Red, to sort incoming reports. A person still makes every decision.
PHP2Shell timeline
| Date (2026) | Event | Source |
|---|---|---|
| 1 Aug | Calif finds the first bug | Calif, Fortune |
| 11 Aug | Calif reports it to PHP | Calif, PHP Foundation |
| 24 Aug | Wiz reports to PHP | Wiz, PHP Foundation |
| 18 Sep | OpenAI sends further attack paths | PHP Foundation |
| 17 Oct | Amazon logs an exploit attempt | Amazon |
| 21 Oct | PHP releases the fixes | php.net |
| 26 Oct | CISA adds both CVEs to KEV | CISA |
The release was moved up a little, too. The CVE IDs leaked on forums on 20 October, so PHP shipped on 21 October at 14:00 UTC.
Who was affected by PHP2Shell
First, the key point. As of 27 October 2026, no primary source confirms a successful breach of any named organisation. Every organisation below either acted as a precaution or is a vendor with affected products.
What has been seen is attack attempts. Amazon's honeypots logged one on 17 October, four days before the fix. Amazon says "it's unclear if any of these attempts would have succeeded". On 26 October, CISA added both CVEs to its Known Exploited Vulnerabilities (KEV) catalog. That is serious, but it is not proof of victims. Under CISA's own criteria, "Successful malicious code execution on a honeypot is considered attempted exploitation".
Organisations that went offline
CISA told anyone who could not patch to take PHP systems offline. The UK NCSC said to "consider taking the system offline" if mitigations could not be applied quickly. Many organisations did just that.
| Organisation | What happened | Who says so |
|---|---|---|
| NCSC Netherlands | NCSC.NL taken offline as a precaution | The organisation itself |
| Dutch government | Overheid.nl, MijnOverheid.nl and DigiD taken offline preventively | The government itself |
| MijnOverheid, DigiD | Back online the same evening | NOS |
| Wikimedia Foundation | Many supporting services offline, partly restored by 27 October. Wikipedia was not shut down. | The organisation itself |
| Tweede Kamer (Dutch parliament) | Website offline as a precaution | NOS |
| Dutch data protection authority, ANP, Notubiz, several hospitals | Offline | NOS |
| Tweakers, RTL Nieuws | Unavailable, back by the afternoon. NOS gives no reason. | NOS |
| Valtori (Finland's state IT centre) | Public web services offline, called "a precautionary measure" | Reuters |
| French Interior Ministry | Prefecture websites offline as a precaution | Reuters |
| ITZBund (Germany) | Several federal websites switched off, "purely preventive" | Reuters |
| Internet Archive | Portal offline briefly for emergency patches, now back | Reuters |
Reuters also lists the Czech government, some BBC portals, Edinburgh council, some Government of Canada sites, and Japanese agencies and firms.
Products with vendor advisories
These products bundle PHP. Status is as of 27 October 2026.
| Vendor | Affected products | Fix status |
|---|---|---|
| Palo Alto Networks | PAN-OS management web UI and XML API | Some hotfixes out, the rest due 27 to 30 October. Not aware of malicious exploitation. |
| Siemens | RUGGEDCOM APE1808 (runs PAN-OS) | No patch listed; contact support |
| Cisco | Expressway, Duo Access Gateway, URWB | Fixes for Duo and Expressway; URWB due Feb 2027. Four products still under investigation. No known malicious use. |
| Fortinet | FortiDDoS, FortiSOAR under investigation | No fixed versions yet; IPS signatures out. FortiOS not affected. |
| CloudLinux | alt-php and ea-php (incl. cPanel servers) | Fixed packages for most versions; CloudLinux 6 not yet confirmed |
Platforms exposed because they run on PHP
The flaw is in PHP, not in your CMS. Cloudflare warns that "updating website code or a plugin(s) alone does not fix these vulnerabilities".
Calif says it confirmed pre-login code execution on current versions of WordPress, Drupal, Joomla, MediaWiki, Roundcube, Magento, phpMyAdmin, Nextcloud, Laravel, Symfony and WHMCS. Wiz showed it on WordPress, Drupal and Joomla. Sansec adds Shopware and WooCommerce, even when their own code is clean. Sansec also now thinks mass exploitation is less likely, because attacks need specific conditions on the target.
How big is the exposure? Wiz estimates 70% of the internet. W3Techs measures something different: PHP runs on 69.2% of websites whose server-side language it knows. Unit 42 counted over 22.6 million exposed instances that are "potentially vulnerable".
What site owners should do
- Update PHP to the fixed release for your branch (see the table above) or anything newer. On managed hosting, ask your host.
- Restart PHP (PHP-FPM, Apache, FrankenPHP or LiteSpeed). Running workers keep the old code.
- Check backports by changelog. Distro and CloudLinux packages may show an older version number. Look for "CVE-2026-109618" in the changelog rather than trusting
php -v. - On PHP 8.1 or older, use a vendor backport, or the source-only patches PHP published for branches 7.4, 8.0 and 8.1, then plan an upgrade. Our PHP 8.2 end-of-life guide covers the upgrade path.
- Set
session.upload_progress.enabled=0in php.ini or the FPM pool (not withini_set()or.user.ini), then restart. Keep it off even after patching. A related bug, CVE-2026-115560, is not fixed yet. - If you cannot patch today, turn on WAF rules from Cloudflare, AWS WAF, Google Cloud Armor or Imunify360. Every vendor says a WAF is not a fix. If nothing else works, take the site offline until it is patched.
- Check for compromise from 17 October onward. Look for new web shells, odd cron jobs and new accounts. Save your logs before you change anything.
What to do next
Check your PHP version today, patch it, and restart. Then review your logs back to 17 October. For the rest of the week's news, see tech news this week.
If you would rather hand this off, our managed tech service covers hosting and security updates. You can also contact us for a one-off PHP check.
Common questions
Was any website hacked through PHP2Shell?
As of 27 October 2026, no primary source confirms a successful breach of a named organisation. Exploit attempts were seen on honeypots, and the organisations that went offline did so as a precaution.
Does updating WordPress or my plugins fix PHP2Shell?
No. The flaw is in PHP itself, so you need a patched PHP build or a vendor backport, followed by a restart of PHP.
Did an AI find PHP2Shell on its own?
No. Researchers at Calif, Wiz and OpenAI used AI models in their work, but people reported, checked and fixed the bugs.
Keep reading
Tech News This Week: PHP2Shell, Node.js and iPhone Duo
The five tech stories that matter this week, ordered by how much you need to act: patch PHP and Node.js, prepare for the new GitHub app in Teams, and what is confirmed about WhatsApp and the iPhone Duo.
7 min read
PHP 8.2 End of Life: Upgrade Before 31 December 2026
PHP 8.2 stops getting security fixes on 31 December 2026. Here is why the October 2026 critical release makes that date matter, how AI tools shrink the time to patch, and a step-by-step upgrade checklist for WordPress and Laravel sites.
7 min read
WordPress 7.1.4 Security Update: What to Do Now
WordPress 7.1.4 is a security release that WordPress says to install immediately. Here is what it fixes, what it does not tell us, and a short plan for updating safely.
5 min read


