Opens in a new tab
News, Trends, and Insights for IT & Managed Services Providers
News, Trends, and Insights for IT & Managed Services Providers
4baf33d2 cbeb 494e a116 5ea88541ac14

The Day Websites Went Dark
For one day in October, the safest thing to do with a website was turn it off.

Start with my own shop. That day, MSP Radio took every one of its websites offline. They stayed down until our infrastructure provider and web developers gave the all clear, and they came back with new resiliency built in.

The Verge laid out why that was the advice. Two flaws in PHP, the programming language underneath a huge share of the web, including WordPress, let an attacker run code on the server. They carry a severity score of 9.2 out of 10, and they reach every version back to PHP 5. PHP runs about 70 percent of websites whose server-side language is known. The fix couldn’t arrive through automatic updates. Someone had to install it by hand. So European Union and UK cybersecurity agencies told organizations that couldn’t patch right away to isolate their internet-facing applications or take them offline. Cloudflare changed its firewall rules as a stopgap.

The schedule didn’t hold, either. BleepingComputer reported that the PHP security team had set a release time for the patches, and the vulnerabilities leaked before that planned disclosure. Security firms warned of early exploitation and pushed out temporary blocks while sites waited.

And attackers were already ahead of the calendar. The Verge reports that Amazon’s threat intelligence team saw exploit attempts as early as October 17, days before any patch was released. Cloudflare’s CEO, Matthew Prince, said the company saw thousands of exploit attempts in the ten hours before the flaws were announced, tens of thousands within 45 minutes after, and millions since. Then the attempts started working. On October 24, a researcher’s honeypot recorded a confirmed remote code execution against a server running PHP 8.4.26, one release behind the fix.

In plain terms, for about a day the official advice for a big piece of the web was the same thing we did. Go dark, fix it, then come back.

That advice assumed someone knew which version was running, and where the fix would come from.

The Patch Was Never the Scarce Part
There was no workaround. The only defense was the fix itself, and a fix reaches a server only through a path somebody set up before the flaw existed.

Start with why nothing else worked. The flaws sit in PHP itself, underneath the website. Perforce, which sells long-term PHP support through its Zend business, points to Datadog’s researchers, who reproduced one of the flaws and found that the malicious request never reaches the application’s code. The site’s own login and security can’t stop it. Then VulnCheck built an exploit that gets past ASLR, the memory scrambling that had kept most published exploits from working on real servers. Spencer McIntyre, its director of exploit development, said organizations should patch rather than assume memory protections or configuration changes will stop an attack. Firewall rules buy time. They don’t close the hole.

So the question becomes who delivers the fix. For PHP, there are three answers:

  • The PHP project patches the versions it still supports, 8.2 and newer.
  • Linux distributions and support vendors, Perforce writes, are the only source of fixes for 8.1 and older. Zend and other vendors shipped those patches the same day.
  • For most small businesses, it’s the host. Whoever runs the server applies the update, or doesn’t.

By Perforce’s own estimate, about 40 percent of PHP users run a version the project no longer supports. For them, a fix existed only if someone had already signed up for one of the other paths. Upgrading instead isn’t quick. Moving to a new runtime can mean updating frameworks, libraries and application code, then testing all of it.

In plain terms, the patch was never the scarce part. The arrangement to receive it was, and it had to be in place before October. It works like a vehicle recall. The manufacturer issues the fix, but the notice only reaches owners whose registration is current.

For an MSP, that arrangement usually sits somewhere the contract doesn’t reach.

The Website Outside the Contract
In practice, it shows up as a scope problem.

Most managed agreements are built around what the MSP put in place: the endpoints, Microsoft 365, the firewall, the backup. A client’s website often came from somewhere else. A web designer built it, a marketing agency runs it, or it sits on a hosting plan somebody bought years ago. Where that’s true, the most exposed system a client had on October 21 may have been the one nobody in your shop was watching.

Rupert Goodwins, in a column for The Register, explains why that matters beyond one bad week. The right way to handle a flaw like this, he argues, is to hand fixes privately to trusted organizations first and go public once core services are protected. PHP2Shell broke that, because someone inside the process leaked it. His answer is a trained, trusted patch liaison. He says the quality of that person decides where an organization sits in line for early fixes. A dental office isn’t going to hire that person. The closest thing it has is its MSP, but only for the systems the MSP knows it owns.

This is how it worked for us. We elected to go dark rather than risk an incident, and waited on the all clear from our infrastructure provider and our web development team. In parallel, we implemented a new static failover we can turn on and off on demand, to serve content the next time we decide to go offline. The choice took us down for a day and made us stronger for the future.

So here’s the choice. Inventory every internet-facing system each client depends on, including the website and whoever hosts it. For each one, either take it on, with a named path for its fixes, or exclude it in writing with the risk spelled out. Or keep scope where the contract draws it, and find out about the web developer’s old PHP server from the breach notice.

And whichever you pick, the client should be the one who sees it.

Why Do We Care?

Because most clients learn what your agreement doesn’t cover on the day something outside it breaks. Have that conversation now, with one page: every internet-facing system they depend on, who delivers the fixes for each, and which ones you don’t touch. A client who has signed that page knows who to call before the next advisory lands.

What to Consider

  • Name the fix path, not just the system. For each internet-facing system on the page, write down who delivers its fixes: the software project, a Linux distribution or support vendor, or the host. Where the answer is nobody, the software is out of support. The client then has to choose between paying for long-term support and funding the upgrade, and that choice belongs on the page too.
  • Put the web developer and the host on the contact list. During PHP2Shell, the people who could declare a site safe were the infrastructure provider and the web team. Before the next one, get their names, find out how they announce fixes, and agree that they’ll tell you when the work is done. Then the client hears one all clear, from you.
  • Settle the go-dark decision in advance. Taking a site offline costs the client a day of visibility, and an incident costs far more. Agree with each client on who can make that call. Give them a way to stay visible while dark, like the on-demand static failover MSP Radio built.

If this trend continues: If the next flaw like PHP2Shell arrives in 2027 the way this one did, clients without that signed page will spend its first day finding out who built their website. Clients with it will spend that day waiting on an all clear they already know is coming.

This content is made possible by community-minded viewers like you

Join the Small Biz Thoughts Community to support independent journalism and get the raw Business of Tech interviews, Channel Intelligence briefs, monthly member calls and more. Member support is one way we sustain the costs of investigative work — from court filings to video editing — while keeping the core reporting open to all.

Thank you

Join the Small Biz Thoughts Community

Choose your upgrade:

Get the full benefits of Business of Tech Plus

Insider Access

$12/month

Perfect for MSPs and ITSPs that want full interviews, early access, and ad-free listening

  • Programmatic Ad-free private podcast feedSame show, little interruptions
  • Channel Chatter previews1–2 topics with light insights
  • Early access to interview episodesHear it days before public release
  • Monthly Insider BriefTighter analysis you can share internally
  • Extra audio segmentsCut interviews, behind-the-scenes commentary, quick competitive notes
  • Become an Insider for $12/month

    Leadership Access

    $149/month

    Perfect for MSPs and Vendors that run a team and need the extended tactics, executive summaries, and weekly alignment brief

  • All Insider Access benefits plus . . .
  • Invite your teamIncludes access for 5 team members with option to add more
  • Vendor Strategy BriefsThe entire library, plus new analysis every month
  • Channel ChatterAll topics, full insights, complete vendor discussion + sentiment list
  • Quarterly State of the Channel Briefing
  • Monthly AMA submission priorityAsk Dave direct questions, and skip the line
  • Get the Leadership Edge for $149/month

    Vendor Partner

    $500/month

    Perfect for channel companies or vendors looking to deepen their engagement with the show.

  • All Leadership Access benefits plus . . .
  • Get highlighted as a show sponsor You'll get placement in the show notes, throughout the website, and on our dedicated sponsors page.
  • Enjoy regular shout outs You'll be featured in a rotating format during the show
  • Become a show sponsor for $500/month

    Search all stories