Selket

Security

The PHP and Node.js outage is affecting your daily life even if you are not a coder. This is what you should do NOW!

Emergency PHP and Node.js patches on 21 October 2026 caused rolling downtime. What you will notice, and what to do while hosts finish updating.

Daniel Alvarez7 min read

Illustrated operations room: an engineer at a desk of alert monitors, a PHP elephant figure beside the laptop, and a colleague pointing at a world map.

The anatomy of the outage and what happened 🌐

The engine room of the web

Think of the internet like a car. You only touch the steering wheel, the radio, and the gas pedal. You rarely look under the hood, but you expect the engine to run quietly in the background.

The web relies on two massive engines running under the hood of almost every site and app you use:

  • PHP: The veteran workhorse powering 75% of websites, including WordPress, Wikipedia, online storefronts, and school portals.
  • Node.js: The high-speed engine handling real-time tasks like live chats, streaming, notifications, and mobile app APIs.

On October 21, 2026, researchers found severe, emergency-level security holes in both engines simultaneously.

In PHP, the flaw (dubbed PHP2Shell) allowed hackers to take total control of a server simply by sending a corrupted file upload. In Node.js, a bug in how it unpacks compressed web traffic opened another door for remote attackers.

Because internet-scanning bots weaponize these flaws in hours, companies could not wait for a quiet weekend. Web hosts, cloud providers, and platforms had to reboot servers, drain active connections, and install patches at the exact same time. That synchronized global scramble caused rolling downtime, frozen apps, and error screens worldwide.

How it affects you πŸ‘€

Even if you have never written a line of code in your life, you depend on these two engines every single day. Here is what this crisis actually looks like on your end:

1. The dreaded "502 Bad Gateway" and app timeouts

When a server reboots mid-task, your request gets dropped. You might experience:

  • Food delivery or ride-hailing apps hanging on the final payment screen.
  • Government or utility portals displaying "Service Temporarily Unavailable."
  • Upload forms (like submitting a PDF resume or a profile photo) failing repeatedly.

2. Precautionary shutdowns

Major web platforms, including parts of Wikipedia and public archives, proactively took select services offline while rolling out the patch. If a website suddenly went into "Scheduled Maintenance" without prior warning, this security fix was almost certainly the reason.

3. Frozen online carts and duplicate charges

If an online shop runs on an unpatched PHP backend (like WooCommerce), checkout buttons can crash mid-transaction.

  • The danger: Clicking "Submit Order" multiple times can lead to multiple pending charges on your credit card.

4. A surge in "emergency reset" phishing scams

Whenever a massive tech incident hits the news, scammers pounce.

  • Expect emails or text messages claiming: "Your account went offline during maintenance. Click here to verify your credentials."
  • Cybercriminals know the public heard about an outage, so they use that fear to steal logins.

5. Invisible risk on abandoned websites

Big tech companies patch their systems in hours. However, local restaurants, small blogs, or old hobby forums often run for years without an active webmaster. Those abandoned sites will remain vulnerable to automated takeovers, putting any personal data stored on them at risk.

The non-developer protection and hygiene playbook πŸ›‘οΈ

You do not need to be a programmer to shield yourself during a web-wide security patch. Do these in order. The first two matter while checkout screens are failing and scam messages are going out. Then update every device you use, then anyone whose site you look after.

1. Treat "emergency password resets" as traps

Expect a wave of fake emails and text messages pretending to be your bank, Netflix, or cloud storage.

  • Scammers love to say: "Your account had an error during server maintenance. Click here to confirm your password."
  • Never click the link. Always open a fresh browser tab and visit the official website directly.

2. Never double-click a stalled payment

If an online checkout screen freezes or shows a "502 Gateway" error, resist the urge to hammer the "Submit" button.

  • Check your banking app or email receipt first.
  • Rapidly clicking a stalled cart often creates duplicate pending charges while the backend recovers.

3. Update your phone, your computer, and every app

Install every pending update. That means the operating system on your computer, the operating system on your phone, and every app that is waiting on an update. Check the list until nothing is left. An update that is downloaded but not installed does not protect you.

Apps like Slack, Microsoft Teams, Discord, and VS Code run on internal engines powered by Node.js. When updates arrive, they will not protect you until you fully quit and reopen the program.

  • Phone: Install the latest system update, then open the App Store or Play Store and update every app.
  • Computer: Install the latest macOS or Windows update, then check each installed app for its own update.
  • Mac: Press Cmd + Q to close an app completely after it updates.
  • Windows: Right-click the app icon on the taskbar and click Quit.
  • Browsers: Open your browser menu (Chrome, Edge, Brave), go to Help > About, let it update, and click Relaunch.

4. Running a small website? Check in with your host

If you manage a WordPress blog, portfolio, or WooCommerce shop on shared hosting:

  • Log into your hosting dashboard (SiteGround, Bluehost, GoDaddy, etc.).
  • Check your PHP settings to confirm you are on the latest patched release (8.2.35+, 8.3.36+, 8.4.27+, or 8.5.12+).
  • If you cannot find it, ask support chat a single question: "Has my server received the emergency PHP security update from this week?"

5. Turn on two-factor authentication everywhere

Automated scanner bots will hunt down forgotten, unmaintained sites that never apply this patch.

  • If a site you signed up for five years ago gets cracked open, hackers will try that same password on your email and social accounts.
  • Turn on 2FA (preferably an authenticator app like Google Authenticator or 1Password) so a leaked password alone cannot unlock your accounts.

The developer and DevOps engineering runbook βš™οΈ

If you operate production workloads, API gateways, or container fleets running PHP or Node.js, immediate operational intervention is mandatory.

Here is the tactical technical runbook to isolate vulnerabilities, patch runtimes, and prevent exploitation.

1. Upgrade matrix: target runtimes

Deploy the upstream security releases immediately across all base images, production clusters, and server pools:

Ecosystem Minimum patched version Critical CVEs mitigated
PHP 8.5 8.5.12 CVE-2026-109618 (OOM RCE), CVE-2026-109619 (Stale State)
PHP 8.4 8.4.27 CVE-2026-109618, CVE-2026-109619
PHP 8.3 8.3.36 CVE-2026-109618, CVE-2026-109619
PHP 8.2 8.2.35 CVE-2026-109618, CVE-2026-109619
Node.js 26 (Current) 26.12.1 CVE-2026-111497 (Brotli RCE), TLS bypasses
Node.js 24 (LTS) 24.22.1 CVE-2026-111497, CVE-2026-105483 (TLS bypass)
Node.js 22 (LTS) 22.23.4 CVE-2026-111497, CVE-2026-106069 (TLS bypass)

The end-of-life (EOL) crisis: The PHP Project has not released upstream binaries for PHP 8.1 or older. If your services run on legacy stacks, you must pull them behind private VPCs, apply source backports where available, or migrate runtimes immediately.

2. Edge and WAF mitigation (stop payloads before the engine)

Because PHP2Shell exploits memory during request ingestion before framework code runs, in-app middleware cannot protect you. Apply edge filtering at your Load Balancer, Nginx reverse proxy, or Cloudflare/AWS WAF layer:

  • Filter malformed multipart boundaries: Block or reject incoming multipart/form-data requests with deeply nested boundaries or missing termination markers.
  • Inspect Brotli decompression at the gateway: If you run Node.js backends that decompress arbitrary client bodies with node:zlib, terminate Brotli at your edge proxy (Cloudflare, Envoy, HAProxy) or reject Content-Encoding: br until runtimes update.
  • Strict payload size caps: Set explicit body size restrictions (client_max_body_size in Nginx) on endpoints that do not strictly require file uploads.

3. Rolling deployments and worker drainage

Do not drop an entire server fleet at once. Follow this rolling drain sequence to avoid 502 cascade failures:

  1. Node draining: Mark target nodes as draining in your ingress controller or Application Load Balancer (ALB).
  2. Graceful worker shutdown:
    • PHP-FPM: Signal your worker pools with SIGQUIT to finish processing in-flight jobs before terminating.
    • Node.js: Call server.close() inside your process managers (PM2, Kubernetes Pod lifecycle hooks) to allow existing HTTP and WebSocket connections to close cleanly.
  3. Container image rebuild: Re-pull your base Docker images (php:8.3-fpm-alpine, node:22-alpine) to incorporate upstream security patches, bypassing build caches with --no-cache.
  4. Health check validation: Ensure synthetic HTTP probes pass on /healthz before rejoining the active load-balancing pool.

4. Container and local dev hygiene

Compromises often start inside internal networks via developer laptops running unpatched test stacks:

  • Update base Dockerfiles: Scan Dockerfiles for pinned legacy digests. Replace pinned unpatched image tags immediately.
  • Audit active npm trees: Run npm audit or pnpm audit across all repositories to locate vulnerable transitive packages consuming native Brotli or compromised certificate trust roots.
  • Bind local ports to loopback: Ensure all local development servers bind exclusively to 127.0.0.1 and never to 0.0.0.0, blocking direct network access from adjacent corporate or home Wi-Fi networks.

Primary sources, official advisories and references πŸ“š

Stay informed and verify patches directly through upstream maintainers and official cyber defense bodies. Here are the primary advisories, incident logs, and technical reports tracking this event:

Official PHP security releases

Official Node.js security bulletins

Government and regulatory advisories

Threat intelligence and industry news

  • PHP
  • Node.js
  • security

Work with Selket

Connecting AI to your systems?

We design the layer that keeps it fast, controlled and accountable.

Talk to Selket β†’