PHP2SHELL / SECURITY BRIEF 01

The PHP alert is real.
Your next step
can be clear.

AI helped make long-standing flaws in PHP practically exploitable. This is a serious patching priority—not a reason to assume your website has been hacked.

Research checked • Includes today's PHP follow-up

2Original critical vulnerabilities
9.2/10CVSS severity score for each
21 OCTEmergency fixes released
Exposure ≠ compromise.
What the numbers actually mean ↗
UPDATE
23 OCT

One more detail: the session-upload follow-up.

Today's PHP notice describes a separate, unlikely remote-code-execution path, tracked as CVE-2026-115560. PHP suggests disabling session.upload_progress.enabled until the next regular bugfix release. The October 21 releases fix the original two CVEs; they are not a blanket “everything is safe” claim. [1]

What should my administrator check?

The unusual case requires a configured session serializer of php_binary or php_serialize, then a runtime switch to php before session_start(), while session upload progress stays enabled. PHP says applications that never change the serializer at runtime can keep the feature enabled. If upload progress was already disabled after October 21, keep it disabled.

Ask your administrator to follow PHP's startup-level configuration instructions, restart every relevant worker, and verify the effective setting. The October 21 guidance says not to rely on application ini_set() or FPM .user.ini for this mitigation. Don't confuse disabling upload progress with disabling all file uploads. [1]

01 / UNDERSTAND

What happened,
in plain English.

A flaw in shared infrastructure can matter even when your own application code is secure.

PHP is the software many servers use to run websites. On October 21, its maintainers released emergency updates for two critical flaws in the runtime itself. Under exploitable conditions, a visitor can make the server run attacker-chosen code without logging in. [1] [2]

CVE-2026-109618

Memory handling could fail at the wrong moment.

When PHP aborted a request after running out of memory, it could leave internal data only partly initialized. Cleanup could then treat that invalid data as valid, corrupting memory. Apache with mod_php has a demonstrated attack before your application code even runs. [1]

CVE-2026-109619

State from one request could outlive its memory.

After a failure, a PHP worker could retain a reference to memory that had already been freed. A later request handled by that worker could use the stale state. Actual attack paths depend on the runtime, settings, and sometimes the application. [1] [3]

Why didn't this get fixed sooner?

The PHP Foundation says signs of the memory-limit problem were identified during audit remediation in 2024. Candidate fixes had serious compatibility, performance, and extension trade-offs. It explicitly describes insufficient resources and its decision process as a structural failure that delayed the fix. AI-assisted research later established practical remote code execution and additional paths, making the full impact clear. This was not simply “old code nobody updated.” [3]

2024

Signs of the root cause identified.

AUG 2026

Practical attacks reported by researchers.

20 OCT

Leak accelerates the release schedule.

21 OCT

Emergency fixes published.

Timeline: the PHP Foundation's disclosure account. [3]

02 / ASSESS

Broad exposure.
Not a universal breach.

PHP says all installations serving web requests are at risk, including PHP-FPM, Apache mod_php, CGI, FrankenPHP and LiteSpeed. It calls mod_php the highest-risk setup. A secure or up-to-date WordPress, Drupal or Joomla app can still sit on a vulnerable runtime. [1] [4]

Successful attacks can execute code with the PHP worker's permissions—not necessarily root. Researchers also demonstrated process-memory disclosure, potentially exposing passwords, API keys or tokens. Damage can extend to systems those credentials can reach. [4] [5]

3.08M
PHP-detected hosts in Censys' live advisory

Snapshot checked October 23, 2026. Its same page counted about 56.66 million web properties. Hosts and web properties are different units, and neither number is a count of confirmed hacked sites. Detection logic and counts change. [5]

Amazon observed attempts against its decoy systems as early as October 17 and reported broad attempts after disclosure. It says the early attempts' success against real systems was unclear. Attempted exploitation, confirmed exploitability, and confirmed compromise are different claims. [6]

About the “70% of the internet” headlines: PHP's large share of identifiable server-side website languages signals ecosystem importance. It does not prove that 70% of all sites are exploitable—or compromised. [7]

03 / FIND YOUR PATH

Who runs your PHP?

Hosting names aren't security guarantees.
Start with the product and the person responsible.

Choose your environment for specific next steps. The provider summaries below are dated research—not a live status check of your account. For a website builder that doesn't expose PHP, ask the provider whether your particular product uses it.

GoDaddy

OFFICIAL INCIDENT NOTICE

Notice updated through October 22, 2026 · Checked October 23

GoDaddy reports its Managed Hosting for WordPress was patched by October 21, 19:30 UTC, and Web Hosting with cPanel by October 22, 13:30 UTC. Its notice treats VPS separately. [8]

  1. Identify your exact product. Owning a domain at GoDaddy does not mean your site is hosted there.
  2. Managed WordPress: the incident notice says its PHP versions were patched and no customer-side PHP update was needed. Ask support to confirm your specific site if its status is unclear, including today's follow-up.
  3. Web Hosting / cPanel: GoDaddy's CloudLinux fix may keep an older-looking PHP version number. Its incident instructions use a PHP build date of October 21 or later as evidence for that product. Follow its check or ask support for proof; don't apply that date rule to unrelated vendors.
  4. VPS: your administrator must update the correct PHP packages, restart serving workers and verify them. With cPanel/WHM, check EasyApache as well as the panel itself. See the cPanel path ↗
  5. Dedicated server: the notice reviewed did not establish fleet-wide patch status. Confirm whether the server is managed and who owns the runtime update; don't assume either safety or inaction.
If you use GoDaddy's temporary phpinfo() check, remove that page immediately after checking. It can expose configuration details.
Read GoDaddy's product-specific instructions ↗

AWS

OFFICIAL INCIDENT BULLETIN

Bulletin published October 21, updated October 22, 2026

AWS says its services are not impacted, but customer PHP workloads may be. It has updated Beanstalk platforms, Lightsail blueprints and Amazon Linux packages. That does not automatically patch your running application. [9]

  1. EC2: inventory and update the OS/vendor PHP installed inside each instance. Verify the relevant security package, reload the runtime and cover every instance and FPM pool.
  2. Elastic Beanstalk: move to the updated PHP platform. AWS says managed platform updates apply at the next maintenance window; confirm the fixed version actually deployed instead of waiting on a checkbox.
  3. Lightsail: new blueprints are available, but AWS cannot patch existing instances in place for you. Snapshot and follow the blueprint-specific procedure. OS-packaged PHP and Bitnami-bundled PHP differ: apt upgrade does not update Bitnami's bundled PHP. AWS recommends a migration path to a Lightsail blueprint. [10]
  4. Containers / custom PHP runtimes: rebuild from fixed packages, redeploy and replace all old replicas. Updating a host OS or downloading a new image is not enough if old containers are still serving.
  5. AWS WAF: the bulletin describes rule updates, including action for pinned rule-group versions. Treat them as interim risk reduction. Test application impact and block direct origin bypass where appropriate—not as proof PHP is fixed.
Read the October 23 PHP follow-up too. Inventory custom images and embedded PHP even if the AWS service itself is not affected.

Your own server

UPSTREAM + DISTRIBUTION GUIDANCE

Ubuntu / Debian advisories checked October 23, 2026

On a self-managed Linux or Windows server, your team owns the runtime update. Apache, Nginx with PHP-FPM, LiteSpeed, CGI and alternative PHP workers have different package and restart paths. Changing your web-server brand is not a fix. [1]

  1. Inventory what's actually serving. Record the OS, PHP package source, active handlers and every pool/container. php -v only identifies that CLI binary; it may not match the web runtime.
  2. Use the correct vendor fix. Ubuntu publishes release-specific packages and coverage requirements; older releases may need Pro/ESM. Debian tracks PHP by release and package, including bookworm's PHP 8.2 and trixie's PHP 8.4. Vendor backports can retain older-looking version strings. [11] [12]
  3. Restart the code that serves requests. After the update, replace or restart the relevant PHP workers and services according to your deployment procedure. Verify all serving nodes loaded the fixed runtime and check site health.
  4. For older branches: PHP 8.1 and earlier are upstream end-of-life. Verify a vendor-supported backport or migrate to a supported branch. PHP's emergency source backports for 7.4–8.1 are not a renewed support lifecycle.
  5. Source builds / Windows / custom stacks: follow PHP's official downloads and your build vendor's instructions. Don't paste a Linux package command into an unrelated environment or install an unverified “hotfix” from social media.
Can't patch quickly? Have a qualified administrator isolate the PHP origin before request processing, or serve a truly static maintenance page. A PHP-based maintenance plugin can leave the vulnerable runtime reachable.

cPanel / WHM

OFFICIAL INCIDENT ADVISORY

October 21–22 releases · Checked October 23, 2026

cPanel's advisory distinguishes two layers: PHP used internally by the control panel, and EasyApache 4 PHP used by your websites. Updating just one does not prove the other is fixed. [13]

  1. No WHM/root access? Ask your host to confirm both layers and every PHP handler assigned to your domains.
  2. Server administrator? Update cPanel/WHM to its patched release and update EasyApache PHP through the supported package process. Check the official advisory for the exact release applicable to your panel branch.
  3. Don't rely on major/minor version labels. The EA4 advisory lists original-CVE backports for PHP 7.4–8.1, plus the new upstream versions for 8.2–8.5. Verify the full installed package, not merely “PHP 8.1.”
  4. Include nonstandard handlers. LiteSpeed / lsphp, custom PHP builds and older ELS packages need their applicable provider checks. A panel's rollout announcement is not evidence your server installed it.
  5. Verify the serving process. Ask whether a controlled worker restart is needed and confirm the website loaded the fixed runtime. The cPanel notice reviewed does not prescribe a universal restart command.
Read cPanel's two-layer update advisory ↗EasyApache package changelog ↗

Plesk

OFFICIAL INCIDENT ADVISORY

Advisory dated October 21, 2026

Plesk's notice covers PHP shipped with Plesk and separately identifies fixed control-panel engines. It announces available fixes—not that every hosted server installed them. [14]

  1. Check the domain's handler. Under Websites & Domains → your domain → PHP, identify the active PHP version and handler. If subscription permissions prevent it, ask your host.
  2. Update both relevant layers. The panel engine fixes are listed for Obsidian 18.0.80 Update 11 or 18.0.81 Update 4. Website-facing PHP 8.2–8.5 has the October 21 fixed upstream releases.
  3. Older Plesk Linux PHP builds need date verification. Its notice lists PHP 7.4.33, 8.0.30 and 8.1.34 builds dated October 21, 2026 for the original fixes. Version number alone is insufficient.
  4. Use the right maintainer. OS-provided PHP, third-party builds and containers are not automatically covered by a Plesk-shipped PHP update. Ask for their own patch evidence.
  5. Confirm rollout and service health. Coordinate any worker restart with the operator; the incident bulletin reviewed gives no blanket restart command. Check today's upstream session follow-up separately.
Read Plesk's runtime and panel advisory ↗

Cloudways & other managed hosts

VERIFY WITH YOUR PROVIDER

Official materials checked October 23, 2026

No public, incident-specific Cloudways remediation statement was located in the official materials checked. That proves neither that it patched nor that it failed to patch. Its general PHP upgrade documentation is not an incident-status attestation. [15]

  1. Identify the product and application. Cloudways Flexible and Autonomous have different PHP controls and supported versions. Check each application's actual runtime, not one account-wide assumption.
  2. Ask for explicit confirmation. Request the fixed build or vendor backport for both original CVEs, the rollout time, restart requirements, and an assessment of the October 23 follow-up.
  3. Don't switch versions blindly. A major/minor version offered in a dropdown may not establish patch status. Use the provider-supported remediation path; take a backup and test app/plugin compatibility before a customer-initiated change.
  4. Apply the same standard to any managed host. “We manage security” is not a patch receipt. Request account-specific evidence and a responsible contact if remediation is unclear.
Cloudways PHP controls (general documentation) ↗
NO NEED TO KNOW THE JARGON

Send this to your host or developer.

Get an answer about your running website, not a general announcement.

04 / TAKE ACTION

A patch is a step.
Verification is
the finish line.

Use this checklist with your hosting provider or technical owner.

0 of 6 steps noted

Saved in this browser when storage is available. Ticking boxes does not certify your site's security.

Escalate now if…

You cannot confirm the running patch, see unfamiliar files/processes, handle sensitive customer data, or don't have a technical owner. Contact your host and a qualified security professional. Don't erase evidence or paste secrets and customer logs into a public AI chatbot.

THE ORIGINAL TWO CVES

Know the fixed release floors.

Released October 21, 2026. Later supported releases may include these fixes. Vendor backports can have different version strings. [1]

PHP 8.28.2.35
PHP 8.38.3.36
PHP 8.48.4.27
PHP 8.58.5.12

These floors refer to CVE-2026-109618 and CVE-2026-109619 only. Review the October 23 notice separately. A visible version header or this checklist cannot certify security. PHP 8.1 and older require a vendor-verified fix or a supported-version migration.

05 / LOOK AHEAD

AI didn't create
the flaw.
It changed
the economics.

The important shift isn't that all old software is suddenly unsafe. It's that bugs once considered too difficult to exploit can become practical targets as AI helps researchers analyze, test and adapt complex attack paths. Defenders can use the same capabilities to find variants and validate fixes. [3] [4]

PHP2Shell shows why education about AI must include the infrastructure we already run. Current PHP branches were affected too: “legacy” isn't merely a version number. It includes inherited design decisions, unknown dependencies and unclear operational ownership.

Amazon warns that the time from an available patch to a working exploit is shrinking. For critical public-facing systems, its advice is to think in hours, not a routine 30-day cycle. That's a reason to improve response readiness—not a prediction of inevitable collapse. [6]

LEARN THE SYSTEM

Know your dependencies, support dates and exposure. Unsupported software needs a credible migration or vendor-support plan.

USE AI, WITH OVERSIGHT

Use approved tools for inventory and triage. Have qualified humans verify findings, patches and configuration changes.

FUND THE BORING WORK

Give maintainers and operators time to fix the root cause. Detection speed is not the same as remediation capacity. [3]

What does responsible disclosure have to do with this?

Researchers report privately so maintainers and distributors can prepare coordinated fixes. The Foundation says leaked identifiers and subsequent disclosures accelerated this release. Disclosure still helps defenders, but—as Amazon notes—an embargo doesn't guarantee nobody else has found the bug. Don't wait for a trending headline to inventory or monitor your systems. [3] [6]

06 / SHARE THE MESSAGE

The CTO's take.

Read-aloud Instagram script
260 words · about 100–120 seconds with pauses

We need to educate ourselves about AI and about the systems we already depend on.

Read the complete Instagram script

AI didn’t break PHP. It helped expose weaknesses we’ve been living with for years.

On October 21, PHP released emergency fixes for two critical security flaws. In vulnerable setups, attackers can run code on a web server without logging in.

This isn’t just a WordPress plugin problem. It’s in PHP itself—the software underneath many websites and business systems. Updating your website doesn’t necessarily update that underlying software.

What went wrong? PHP could mishandle memory when a request failed, or leave behind information that the next request shouldn’t use. Researchers used AI to help show how those weaknesses could become real attacks.

And the PHP Foundation says fixing the underlying problem was delayed by difficult compatibility decisions, limited resources, and a decision process that needed to change.

So yes, this is serious. But widespread use is not the same as widespread compromise. Not every PHP website has been hacked, and fixes are available.

As a CTO, here’s my bigger takeaway: AI can help defenders find and fix old flaws. It can also help attackers exploit them faster. We should expect more pressure on how quickly we respond—not assume catastrophe.

We need to educate ourselves about AI and about the systems we already depend on. Know what runs your website. Know who patches it. Verify the fix is actually running. And have tested backups and monitoring.

Don’t panic. Don’t assume your hosting company handled everything, either.

Comment “PHP,” and I’ll send you a practical guide for GoDaddy, AWS, and your own server—so you know what to ask and what to do next.

Download script

The guide covers the October 23 follow-up separately. The script focuses on the original event and leadership lesson. Evidence: sources 1–4 and 6 below.

07 / CHECK THE EVIDENCE

Sources, not speculation.

Primary advisories first.
Research checked October 23, 2026.

Read the current notices before acting: vendors may add fixes or guidance after this snapshot. Provider announcements do not attest to your specific server. This resource does not scan your site or certify patch status.

  1. PHP: emergency security release + session upload progress follow-upOctober 21 and 23, 2026 · Primary scope, versions and configuration guidance
  2. CERT-EU: Critical Vulnerabilities in PHPOctober 21, 2026 · Severity, root causes, isolation and vendor backports
  3. PHP Foundation: how the flaws were found and fixedOctober 21, 2026 · Audit history, resources, decisions, AI and disclosure
  4. Wiz: AI-assisted PHP2Shell researchOctober 21, 2026 · Demonstrated impact and AI-assisted exploitability
  5. Censys: live PHP exposure advisoryPublished October 21, updated October 22; live page checked October 23 · Detection counts and limits
  6. Amazon: early exploitation-attempt telemetryOctober 21, 2026 · October 17 observations, uncertainty and response speed
  7. Reuters: global response and precautionary outagesOctober 21, 2026 · Real-world disruption; language-share denominator
  8. GoDaddy: product-specific PHP security updateStatus updates through October 22, 2026 · Managed WordPress, Web Hosting and VPS
  9. AWS: security bulletin 2026-143-AWSOctober 21, updated October 22, 2026 · Customer responsibilities and product fixes
  10. AWS: update PHP on Lightsail instancesIncident-specific documentation, checked October 23 · Blueprint-specific procedures
  11. Ubuntu: PHP2Shell fixes availableOctober 21, 2026 · Distribution packages, support coverage and restart guidance
  12. Debian Security Tracker: release/package-specific statusMaintained tracker, checked October 23 · Verify the correct distribution package
  13. cPanel / WHM: critical PHP security releaseOctober 21–22 release guidance · Internal panel PHP versus EasyApache website PHP
  14. Plesk: PHP2Shell runtime and panel fixesOctober 21, 2026 · Fixed versions and legacy Linux build dates
  15. Cloudways: how to upgrade PHPGeneral documentation, checked October 23 · Controls and compatibility, not incident patch status

Don't panic.
Know your systems.

Find my next step ↗