Wednesday, October 21, 2026

Critical "PHP2Shell" Vulnerabilities: Nearly 70% of the Web is Affected

 


Urgent Security Alert: Protect Your Servers from Critical "PHP2Shell" Vulnerabilities!

If your organization uses PHP in any capacity, it is time to drop everything and patch.

Cybersecurity agencies globally (including the UK's National Cyber Security Centre (NCSC) and the US Cybersecurity and Infrastructure Security Agency (CISA)) are sounding the alarm over two critical vulnerabilities discovered in the core of PHP, one of the world's most popular server-side scripting languages.

These vulnerabilities, designated CVE-2026-109618 and CVE-2026-109619, carry a severe CVSS 4.0 score of 9.2 out of 10. Threat intelligence firms are already seeing proof-of-concept exploits and malicious activity in the wild.

Here is everything you need to know about this new "PHP2Shell" threat and, most importantly, the exact steps you need to take right now to protect your infrastructure.


Understanding the Threat: Unauthenticated RCE

The core issue lies in how PHP handles memory, allowing attackers to achieve unauthenticated Remote Code Execution (RCE). In simple terms: an attacker can execute malicious commands on your web server without ever needing a username or password.

  • CVE-2026-109618 ("php2shell"): This vulnerability involves out-of-memory (OOM) corruption. If PHP's memory handling interrupts an operation, it can leave data partially initialized. The cleanup process then mistakenly treats this uninitialized, invalid data as valid.

  • CVE-2026-109619: This flaw creates a "stale global state." PHP can sometimes retain an internal state even after the memory backing it has been freed. A subsequent request handled by the same worker process might then use that stale data before normal initialization resets it.


Who is at risk?
Any organization using any version of PHP is potentially vulnerable until patched.


The Global Action Plan: What to Do

Drawing from the latest guidance from CISA, the NCSC, and major threat intelligence firms, we have compiled a comprehensive, prioritized checklist for IT and security teams.

1. Discovery & Inventory (Leave No Stone Unturned)

Because PHP runs in the background of so many systems, you might be running it without realizing it.

  • Audit everything: Identify all systems running PHP across your infrastructure, prioritizing anything internet-facing. Do not limit this to just outdated versions.

  • Look beyond standard web servers: Ask your IT team, hosting providers, and software vendors (get it in writing!) if any of your systems use PHP. It is frequently bundled inside control panels, security appliances, phone systems, and other third-party tools.


2. Immediate Patching (The Only Complete Fix)

Updating is the only guaranteed way to mitigate these flaws.

  • Update to safe versions immediately: Install the patched versions released on October 21, 2026: PHP 8.5.12, 8.4.27, 8.3.36, or 8.2.35.

  • Check vendor packages: If you get PHP through a Linux distribution or hosting provider, apply their updated packages and explicitly confirm with the vendor that the fixes for these specific CVEs are included.

  • Restart services: After applying the patch, be sure to restart PHP-FPM or your web server so the worker processes load the newly secured code.

  • Address unsupported versions: PHP 8.1 and older are no longer officially supported. If you are on an older version, you must upgrade to a supported release or contact your vendor immediately for a backported patch.


3. Emergency Mitigations (If You Cannot Patch Now)

If immediate patching is impossible, or you are stuck on an unsupported version, you must drastically reduce your exposure.

  • Take systems offline: CISA’s direct guidance is clear—if you cannot update immediately, or if you use unsupported versions like PHP 8.1 or earlier, take those systems offline until they can be fixed.

  • Deploy a WAF: If going offline is truly impossible, placing the applications behind a Web Application Firewall (WAF) may provide a temporary layer of protection.

  • Apply temporary hardening: Review the official PHP security advisories for temporary settings you can apply to reduce risk in the interim.


4. Threat Hunting (Assume Breach)

Because exploit activity began shortly before the patches were widely available, patching alone might not be enough if an attacker has already slipped through.

  • Scan for compromise: If you were delayed in patching, actively look for signs of a breach before upgrading.

  • Look for specific indicators: Network defenders should monitor for PHP worker processes launching suspicious shells, downloading unexpected tools, creating new scheduled tasks, adding unknown user accounts, or modifying files in the web root.


5. Utilize Free Security Resources

  • Check dependencies: Consult the NCSC-NL's published inventory list of software products with a PHP dependency to check if your third-party tools are vulnerable.

  • Sign up for alerts: Organizations in the UK should utilize the free NCSC Early Warning service, while US companies should subscribe to CISA alerts to stay ahead of emerging threats.


Detailed Emergency Checks & Mitigation:


Step 1: Run an Emergency Read-Only Scan on GitHub

If you need to move quickly but require a "read-only" approach to avoid disrupting production environments with active exploit scanners, you can audit your code, dependencies, and environments directly via GitHub using the following methods:

Method A: GitHub Dependency Graph & Dependabot (Native & Safe) GitHub’s native software composition analysis is entirely read-only relative to your running production servers.
  1. Go to your GitHub organization or repository.
  2. Click on the Insights tab, then select Dependency graph on the left menu.
  3. Click on Dependabot to see high/critical alerts instantly flagged for your repositories.
  4. Check for any instances of Node.js packages or PHP dependencies triggering alerts. 
(Note: Because PHP2Shell and Node.js core flaws are runtime vulnerabilities, Dependabot will catch them if you pin specific vulnerable runtime versions or Docker base images in your repository).

Method B: Global Code Search (Max-Effort Manual Hunt) To look for exposure in chat projects or custom codebases where you might be routing data to self-hosted engines, go to your GitHub search bar and execute global, organization-level searches:
  1. For PHP Environments: Search for active PHP deployments using extension:php or filename:Dockerfile "FROM php".
  2. For GitLab self-hosted endpoints: Search for URLs pointing to your internal instances using path:.env "GITLAB_URL" or filename:config "gitlab". Ensure they aren't publicly exposed.
  3. For Node.js / Chat Projects: Search for vulnerable versions or Brotli usage in your backend chat structures using filename:package.json "node" or look for code utilizing the Brotli decoder.

Method C: Run a Local Read-Only Scanner via CLI If you want a deeper "max-effort" scan over your cloned repositories without granting write permissions to third-party cloud apps, you can use CLI-based open-source tools locally. For example, you can run a read-only filesystem or Docker image scan using Trivy:
trivy fs ./your-repo-directory
This will cross-reference your project lockfiles against the newly updated vulnerability databases containing today's CVEs.


Step 2: Careful Steps to Mitigate

If your scans or asset inventories reveal that you are running internet-facing or internal instances of these stacks, execute these mitigation procedures immediately:

PHP Runtime:

  • Identified Exposure:
    Any web server utilizing PHP versions prior to today's emergency releases.

  • Mitigation Action Steps: 
    1. Update Runtime Immediately. 
    2. Upgrade your servers or container base images to PHP 8.5.12, 8.4.27, 8.3.36, or 8.2.35. Updating repository web-code alone will not fix this. 
    3. If using a WAF (like Cloudflare), ensure specific rules for PHP2Shell are toggled on to block payload injection.

GitLab:

  • Identified Exposure:
    Self-managed GitLab instances (CE/EE).

  • Mitigation Action Steps: 
    1. Emergency Patching. If you host your own GitLab instance, immediately upgrade to 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, or 18.11.13. 
    2. If you cannot patch immediately, isolate the server from the public internet or put it behind a strict VPN. (Note: GitLab.com SaaS instances are already safely patched).

Node.js:

  • Identified Exposure:
    Backends, APIs, or chat apps running Node.js 22, 24, or 26.

  • Mitigation Action Step: 
    1. Rebuild and Upgrade. 
    2. Update your Node runtimes to v22.23.4, v24.22.1, or v26.12.1. 
    3. Rebuild your Docker images to pull these latest secure binaries.

Step 3: Hunt for Post-Exposure Compromise

Because active exploits are already occurring in the wild, clearing a code scan isn't enough if your servers were previously exposed. You must assume breach and hunt for indicators of compromise:
  1. Check Server Logs:
    Inspect web server logs for abnormally large application/x-www-form-urlencoded POST bodies or suspicious requests hammering session.upload_progress.

  2. Audit Process Spawns:
    Monitor your infrastructure to see if php-fpm, php-cgi, or node processes are spawning unauthorized reverse shells, curl requests, or unexpected system binary calls.

The Bottom Line:
The "PHP2Shell" vulnerabilities are not something you can schedule for next week's maintenance window. Treat this as an active, critical incident. Locate your PHP instances, patch them immediately, and hunt for signs of compromise.


Sources:

Government Cybersecurity Alerts


  • UK National Cyber Security Centre (NCSC): "Critical security issue affecting PHP" (October 21, 2026). The NCSC alerts UK organizations to CVE-2026-109618 and CVE-2026-109619, urging immediate discovery of PHP instances and priority patching for internet-facing systems.

  • Computer Emergency Response Team for the EU (CERT-EU): "Critical Vulnerabilities in PHP" (Advisory 2026-018, October 20, 2026). CERT-EU notes the CVSS 9.2 severity of CVE-2026-109618, explaining it allows remote code execution through memory corruption.

  • U.S. CISA: While not directly linked in the search results above, CISA's official domain is cisa.gov, where their alerts on critical vulnerabilities are posted.

Threat Intelligence & Vendor Reports


  • Palo Alto Networks Unit 42: "Threat Brief: Critical Vulnerabilities in PHP: CVE-2026-109618, CVE-2026-109619" (October 21, 2026). Unit 42 reports both flaws as remote code execution (RCE) vulnerabilities rated 9.2 (CVSS 4.0), confirms seeing proof-of-concept exploits, and notes that at least one European government took its website offline as a precaution.

  • Google Cloud Security: "Responding to core PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619" (October 21, 2026). Google outlines the vulnerable versions (5.4 through 8.5.11) and the patched versions (8.5.12, 8.4.27, 8.3.36, and 8.2.35). They confirm the upstream PHP project is not releasing fixes for PHP 8.1 or earlier.

  • CrowdStrike: "CrowdStrike Protects Customers from Threats Delivered via PHP RCE Zero-Days" (October 21, 2026). This report details the technical shared root cause in the Zend engine (longjmp() without unwinding) that leads to the memory corruption in both CVEs.

  • Help Net Security: "PHP2Shell: Critical PHP vulnerabilities patched, update now!" (October 21, 2026). This article quotes the NCSC and computer forensics experts warning about the "long tail" of unpatched embedded installations.




Created & Maintained by Pacific Northwest Computers



📞 Pacific Northwest Computers offers Remote & Onsite Support Across: 

SW Washington including Vancouver WA, Battle Ground WA, Camas WA, Washougal WA, Longview WA, Kelso WA, and Portland OR 

Tuesday, October 6, 2026

How-To Live-Swap a Back-UPS Battery Safely



How to Live-Swap a UPS Battery; Safely

When an uninterruptible power supply (UPS) battery fails, it often triggers a loud, continuous alarm or displays a flashing battery error icon. In an enterprise environment, shutting down the server rack, NAS, or network switch connected to that UPS just to swap a battery means unwanted downtime.
Fortunately, UPS devices such as the APC Back-UPS Pro 1350 (BX1350M) support hot-swapping. This means you can replace the internal battery cartridge without powering down the unit or interrupting the critical equipment plugged into it.
Whether you are an end-user maintaining your workstation or a deployment technician following company infrastructure protocols, use this step-by-step guide to perform a hot-swap safely.

Monday, September 28, 2026

Online Speed Tests: Who's Good & Who Should You Use?


The Best Online Internet Speed Tests:
Which One Should You Actually Use?


We’ve all been there: your video call freezes, your game starts lagging, or that movie you’re trying to stream keeps buffering. Your first instinct is probably to Google "speed test," but did you know that not all speed tests are created equal?

While Ookla Speedtest (speedtest.net) remains the reigning champion for overall testing due to its massive global server network and historical tracking, relying on just one tool doesn't always tell the whole story.

Depending on what you are trying to do; whether that's hosting a Zoom webinar or trying to figure out if your ISP is throttling your Netflix. You need the right tool for the job!

Here is the ultimate breakdown of the best internet speed tests available today and when you should use them.

Thursday, September 24, 2026

Set Up DMARC for Microsoft 365 Hosted Email

 


How to Set Up DMARC for Microsoft 365:
Stop Email Spoofing for Good!

If you own a custom domain, email security isn't optional anymore. Major email providers like Google, Yahoo, and Microsoft strictly require authentication records to ensure your emails reach the inbox instead of the spam folder.

Setting up DMARC (Domain-based Message Authentication, Reporting, and Conformance) prevents scammers from impersonating your business while boosting your overall email deliverability.

Here is a step-by-step guide to properly setting up DMARC alongside SPF and DKIM for Microsoft 365 (formerly Office 365).

Set Up DMARC for Google Workspace Email


How to Set Up DMARC for Google Workspace:
Stop Email Spoofing for Good!

If you own a custom domain, email security isn't optional anymore. Major email providers like Google, Yahoo, and Microsoft strictly require authentication records to ensure your emails reach the inbox instead of the spam folder.

Setting up DMARC (Domain-based Message Authentication, Reporting, and Conformance) prevents scammers from impersonating your business while boosting your overall email deliverability.

Here is a step-by-step guide to properly setting up DMARC alongside SPF and DKIM.

Monday, September 21, 2026

EINSTEIN: Protecting U.S. Federal Networks

 


EINSTEIN:
The Technology Protecting
U.S. Federal Networks


When you hear the name "Einstein," you likely picture the theoretical physicist with wild hair and equations on a chalkboard. But in U.S. government cybersecurity, EINSTEIN refers to a multibillion-dollar, automated intrusion detection and prevention system designed to protect digital traffic across federal civilian networks.

Below is a verified, source-backed breakdown of the EINSTEIN system, incorporating official documentation from the Cybersecurity and Infrastructure Security Agency (CISA), Government Accountability Office (GAO) audits, and presidential cybersecurity directives.

What Nobody Tells You Before You Upgrade a Computer

What Nobody Tells You Before an Upgrade


"I just bought a new computer and now my printer doesn't work. It works fine on the old one! The only drivers I can find are being blocked by Windows Security. And I can't install or activate my Office 2016 or my Quicken 2000!?"

It's a completely reasonable thing to expect. The printer works. The software works. You've used the same setup for eight years without a problem. So why wouldn't it work on a newer, faster, better machine?

The honest answer is that "newer" doesn't just mean "the same thing, but faster." When you skip several years between upgrades, you aren't taking one step forward. You're jumping across a gap where the rules changed several times while your old device quietly kept doing things the old way.

This article's aim is to try to cover why that happens, what usually breaks, and how to plan an upgrade so you aren't caught off guard.

Monday, August 17, 2026

Navigating the Cloud: A Washington Law Firm’s Guide

Navigating the Cloud: A Washington State Law Firm’s Guide to WSBA Advisory Opinion 2215

The legal industry is rapidly transitioning to cloud-hosted services for document storage, practice management, and client communication. The benefits are clear: reduced IT costs, enhanced collaboration, and the ability to work from anywhere. But for Washington lawyers, this digital shift brings up a critical ethical question: Is it safe, and is it compliant?

Wednesday, July 29, 2026

App Passwords: Why You Need Them & How to Set Them Up

 


Your Guide to App Passwords:
Why You Need Them & How to Set Them Up


Have you ever tried to connect an older email app, a smart home device, or a scanner to your main account, only to be hit with a stubborn "authentication failed" error; even though you know you typed your password correctly?

The culprit is likely your account's modern security settings. As Two-Factor Authentication (2FA) becomes the standard for protecting our online lives, many third-party apps and older devices simply don't know how to handle that second step. According to the Cybersecurity and Infrastructure Security Agency (CISA), using Multi-Factor Authentication (MFA) makes users 99% less likely to be hacked. However, it can break compatibility with older software.

Enter the App Password: a specialized, secure bridge that lets these devices connect without compromising your main account's security.

Monday, July 20, 2026

Remove or Change a Microsoft Office 365 Business Subscription



Remove/Change Microsoft Office 365 Business Subscriptions


Microsoft has made it surprisingly difficult to find the option to remove Microsoft 365 Copilot from a business subscription. If you're logged into the Microsoft 365 Admin Center and only see a combined subscription such as "Microsoft 365 Business Standard and Microsoft 365 Copilot", you may assume the Copilot license can't be removed separately.

How they have things setup to switch or cancel your subscription for a user, employee, etc. can be super confusing! So I wanted to make this guide to help folks out with the process.