Op 21 oktober 2026 was het een spannende dag voor iedereen die websites host. In PHP, de techniek achter de meeste websites, waaronder WordPress, zaten twee ernstige beveiligingslekken. De details waren al naar buiten gekomen, maar de officiële update kwam pas in de middag. Daardoor waren websites een aantal uur kwetsbaar.
Voor onze klanten liep het goed af. Hun websites waren de hele dag beschermd en bleven bereikbaar. In deze blog lees je wat er speelde, welke afweging we maakten en wat dit betekent voor jouw website.
Wat is er aan de hand met PHP?
PHP is de programmeertaal waarmee een server je webpagina’s opbouwt. Volgens W3Techs draait ongeveer driekwart van alle websites waarvan de servertaal bekend is op PHP. WordPress en WooCommerce horen daar ook bij.
De twee lekken kregen samen de naam php2shell. Officieel heten ze CVE-2026-109618 en CVE-2026-109619. Een CVE-nummer is een vast nummer waarmee een beveiligingslek wereldwijd wordt bijgehouden. Het PHP-securityteam gaf beide lekken een CVSS-score van 9.2. CVSS is een schaal van 0 tot 10 die aangeeft hoe ernstig een lek is. Met 9.2 valt het in de hoogste categorie: kritiek.
Het gevolg van zo’n PHP-beveiligingslek heet remote code execution, kortweg RCE. Een aanvaller kan dan op afstand eigen code uitvoeren op de server, zonder in te loggen. In het ergste geval kan hij gegevens inzien of een website overnemen.
In gewone taal zat het zo:
- CVE-2026-109618: als de server na een bezoek aan het opruimen was en daarbij geheugen tekortkwam (out-of-memory), kon het geheugen beschadigd raken.
- CVE-2026-109619: na een bezoek bleef soms interne informatie achter in een PHP-worker. Dat is het onderdeel dat verzoeken van bezoekers afhandelt. Een volgend verzoek kon die achtergebleven gegevens misbruiken.
Elke PHP-installatie die webverkeer afhandelt was geraakt, zoals PHP-FPM, Apache met mod_php en php-cgi. Dat zijn verschillende manieren waarop een server PHP draait. Het ging dus om vrijwel elke WordPress-website en WooCommerce-webshop.
Wat het extra lastig maakte: op 20 oktober kwamen de details naar buiten, voordat er een oplossing was. Zo’n lek heet een zero-day: het is bekend voordat er een update voor bestaat. Het PHP-project kondigde daarom een extra PHP security update aan voor 21 oktober 2026, buiten het vaste schema om.
Offline halen of online blijven?
Op de ochtend van 21 oktober lag er één vraag op tafel. Halen we de websites van onze klanten offline tot de update er is, of kunnen ze veilig online blijven?
Offline halen is een verantwoorde keuze. Een website die offline staat, kan niet worden aangevallen. Andere hosters kozen er die dag voor, en dat is een goede keuze. Elke hoster kent zijn eigen omgeving en weegt de risico’s zelf af.
Maar offline betekent ook: geen bestellingen, geen aanvragen en een website die je klanten niet kunnen bereiken. Daarom hebben we ’s ochtends intern technisch overleg gehad en advies gevraagd aan Cloudflare. Onze conclusie: met de bescherming die al klaarstond, konden de websites veilig online blijven. Die bescherming zagen we als tijdelijk schild, tot de update er was.
Hoe Cloudflare websites beschermde voordat de update er was
Alle websites die bij ons hosten, draaien automatisch achter Cloudflare. Cloudflare is een van de grootste beveiligings- en netwerkbedrijven ter wereld. Ongeveer een op de vijf websites loopt via hun netwerk. Het verkeer naar een website gaat eerst langs Cloudflare en pas daarna naar de server.
Cloudflare gebruikt daarvoor een web application firewall, kortweg WAF. Dat is een filter dat elk verzoek controleert en verdachte verzoeken tegenhoudt. Voor php2shell deed Cloudflare drie dingen:
Vond je dit nuttig?
Ontvang onze nieuwsbrief met meer ICT-tips, nieuws over onze diensten en aanbiedingen. Afmelden kan altijd.
- Vroeg ingeschakeld. Vanaf de nacht van 21 oktober stonden er speciale WAF-regels aan voor alle klanten, ook op gratis abonnementen. Dat was uren voordat de lekken officieel bekend werden gemaakt.
- Steeds bijgewerkt. Cloudflare zag in de loop van de dag de eerste aanvallen en paste de regels direct aan.
- Ook het antwoord gecontroleerd. Cloudflare keek niet alleen naar wat er binnenkwam, maar ook naar wat de server terugstuurde. Dat heet full transaction detection. Zag een antwoord van de server er verdacht uit, dan werd het tegengehouden voordat de aanvaller het te zien kreeg.
Cloudflare zei er zelf duidelijk bij dat deze Cloudflare WAF-regels een tijdelijke maatregel waren. Een firewall vervangt geen update. Daarom stond bij ons alles klaar om te updaten zodra dat kon.
Tijdlijn van 21 oktober
- 20 oktober: details over de lekken komen naar buiten. Er is nog geen update.
- Nacht van 21 oktober: Cloudflare zet WAF-regels aan voor alle klanten.
- Ochtend: intern technisch overleg en advies van Cloudflare. Besluit: de websites blijven online achter de bescherming van Cloudflare.
- Overdag: we houden servers en websites nauwlettend in de gaten en zetten alles klaar voor de update. Cloudflare werkt de regels bij.
- 15.45 uur: het PHP-project brengt de update uit: PHP 8.5.12, 8.4.27, 8.3.36 en 8.2.35.
- 16.30 uur: al onze servers zijn bijgewerkt en alle PHP-FPM-processen zijn herstart. Dat herstarten was nodig, omdat een van de lekken zat in gegevens die achterbleven in draaiende processen.
Wat betekent dit voor jouw website?
Host je bij Wij zijn Merlin? Dan hoef je niets te doen. Je website was de hele dag beschermd en draait sinds 16.30 uur op 21 oktober op een bijgewerkte versie van PHP.
Host je ergens anders? Vraag je hoster of PHP is bijgewerkt naar een van deze versies of nieuwer: 8.5.12, 8.4.27, 8.3.36 of 8.2.35. Bij managed hosting regelt je hoster dit meestal voor je. Beheer je zelf een server, dan ben je daar zelf verantwoordelijk voor.
Draait je website op PHP 8.1 of ouder? Dan komt er van het PHP-project geen officiële update meer. Plan zo snel mogelijk een overstap naar een nieuwere versie. Let op: ook PHP 8.2 krijgt na 31 december 2026 geen updates meer.
Veelgestelde vragen
Wat is php2shell?
php2shell is de naam van twee kritieke beveiligingslekken in PHP: CVE-2026-109618 en CVE-2026-109619. Ze maakten het mogelijk om zonder in te loggen code uit te voeren op een server.
Was mijn website bij Wij zijn Merlin beschermd?
Ja. Je website was de hele dag beschermd door de WAF-regels van Cloudflare. Om 16.30 uur op 21 oktober 2026 waren al onze servers bijgewerkt.
Moet ik zelf iets doen?
Als je bij ons host, niet. Wij hebben PHP bijgewerkt. Het blijft wel verstandig om WordPress en je plugins up-to-date te houden.
Zit het lek in WordPress of WooCommerce?
Nee, het lek zat in PHP, de techniek waarop WordPress en WooCommerce draaien. Daardoor waren ook WordPress-websites en webshops geraakt. Voor de veiligheid van je WooCommerce-webshop is de PHP-update dus net zo belangrijk.
Is een firewall zoals Cloudflare genoeg?
Nee. Een web application firewall is een tijdelijk schild, en dat zei Cloudflare er zelf ook bij. Alleen de update van PHP lost het lek echt op.
Mijn website draait op PHP 8.1 of ouder. Wat nu?
Voor PHP 8.1 en ouder komt er geen officiële update meer. Laat je website zo snel mogelijk overzetten naar een nieuwere PHP-versie.
Tot slot
In zo’n situatie is er maar één ding dat niet goed is: niets doen. Dank aan het PHP-securityteam, Cloudflare en alle hosters en beheerders die op 21 oktober hebben meegeholpen om het internet een stukje veiliger te maken.
Wij zijn Merlin verzorgt vanuit Harderwijk webhosting en managed hosting voor het MKB. Heb je vragen over php2shell of wil je weten hoe jouw website erbij staat? Neem gerust contact met ons op. We denken graag met je mee, ook als je niet bij ons host.