Secure

21 oktober: Nederland op zwart. Wat PHP2Shell ons leert

DigiD, MijnOverheid en tal van andere diensten gingen uit voorzorg offline. Geen bevestigde hack, wel een duidelijke les: de tijd tussen een lek en misbruik is bijna weg.

  • Patrick Petronilia
  • 26 oktober 2026
  • 7 min lezen

Op woensdag 21 oktober ging een groot deel van digitaal Nederland op zwart. DigiD, MijnOverheid, de website van de Tweede Kamer en zelfs die van het Nationaal Cyber Security Centrum (NCSC). NotuBiz, het raadsinformatiesysteem van ruim honderd gemeenten, provincies en waterschappen, ging offline. Boekhouders konden niet in Exact en webshops als EasyToys en MyJewellery sloten tijdelijk de deur.

Er was op dat moment geen bevestigde hack. Deze organisaties zetten hun diensten uit voorzorg uit, omdat er nog geen patch was.

In het kort. PHP2Shell bestaat uit twee kritieke lekken in PHP zelf, de programmeertaal achter onder meer WordPress, Drupal en Magento. Een aanvaller kan er zonder in te loggen een server mee overnemen. De patch is er sinds 21 oktober. Maar de tijd tussen een lek en het eerste misbruik is bijna verdwenen, dus met patchen ben je er nog niet. Kijk ook of er al iemand binnen was, vervang gevoelige gegevens en zorg dat je de volgende keer tijd kunt kopen.

Wat er gebeurde, in gewone taal

Op 21 oktober waarschuwde het NCSC voor twee kritieke kwetsbaarheden in PHP: CVE-2026-109618 en CVE-2026-109619, samen PHP2Shell genoemd. Het lek zit niet in een plug-in of thema, maar in de motor zelf. Dus ook een simpele 'Hello World'-pagina kan kwetsbaar zijn. Volgens het NCSC kan één verzoek zonder login genoeg zijn om code op de server uit te voeren. Alle versies vanaf PHP 5 zijn geraakt.

De patch kwam die middag rond 16:00 uur Nederlandse tijd, een dag eerder dan gepland. De bijgewerkte versies zijn 8.2.35, 8.3.36, 8.4.27 en 8.5.12. PHP 8.1 en ouder krijgen geen reguliere update (daar is overstappen op een ondersteunde versie de enige echte oplossing).

Het echte verhaal: de tijd om te patchen is weg

De ernst is één ding. Het echte verhaal is het tempo.

  • Misbruik vóór de bekendmaking. Amazon zag op 17 oktober al een aanvalspoging op een van zijn lokservers. Dat was vier dagen voordat de patch er was.
  • Duizenden, daarna miljoenen. Cloudflare telde duizenden pogingen in de tien uur vóór de bekendmaking, tienduizenden in de drie kwartier erna en inmiddels miljoenen.
  • Een patch als schatkaart. Gepatchte PHP-versies stonden al enkele uren vóór de afgesproken tijd online. Voor een aanvaller is dat een schatkaart: de patch laat precies zien waar het lek zat.
  • 81 minuten. Onderzoekers van ELLIO zagen één aanvaller in 81 minuten van eerste verkenning naar een geplaatste web shell, een achterdeur op de server. Probeer in die tijd maar eens een change goedgekeurd te krijgen.

Op 22 oktober meldde het NCSC de eerste signalen dat het lek ook met succes is misbruikt.

En AI versnelt beide kanten. Onderzoekers van Wiz vonden de lekken met hulp van AI-modellen. Cybersecurity-experts Inge Bryan en Bert Hubert verwachten dat AI dit soort lekken vaker en schoksgewijs aan het licht brengt. Ook aanvallers die geen superhacker zijn, kunnen ze daardoor misbruiken.

Wat het verschil maakte: tijd kunnen kopen

Op 21 oktober zag je grofweg drie situaties.

Veel organisaties konden alleen uitzetten. Dat was de verstandige keuze, het NCSC raadde het ook aan. Maar het kostte uren aan dienstverlening en omzet. EasyToys was zo'n acht uur offline.

Een tweede groep had een beschermlaag die tijd kocht. WordPress-hoster Heijsen hield zijn ongeveer 1.000 klanten online met extra firewallregels en een uploadlimiet, tot de patch er was.

De derde groep had geen keuze. Klanten van NotuBiz en Exact waren afhankelijk van wat hun leverancier deed. Ook een deel van de security-appliances in de markt bleek zelf PHP te gebruiken. Daar wachtte de klant op een update voor precies het apparaat dat hem moest beschermen.

Tijd kopen tot je zelf gepatcht hebt

Een patch die bestaat, is nog geen patch die draait. Daar zitten bij veel organisaties nog testen, een change en een onderhoudsvenster tussen. En juist in die periode meldde het NCSC de eerste signalen van succesvol misbruik.

Op dat moment telt een beschermlaag in het netwerk. Cato ontwikkelde met AI-ondersteund dreigingsonderzoek nieuwe IPS-signatures tegen de bekende aanvalsscenario's. Op 21 oktober gingen die eerst in silent mode live, ter validatie. Vanaf 22 oktober volgde de uitrol in blokkeermodus, en op 23 oktober was die volgens Cato over het hele netwerk bevestigd.

Eerlijk is eerlijk: op 21 oktober zelf hielp dit nog niet. De blokkerende bescherming kwam een dag na de patch. Maar de patch was er wel, de installatie vaak nog niet.

Voor klanten met IPS aan werken de signatures automatisch. Er hoeft niets te worden ingesteld, en per server of apparaat niets te worden bijgewerkt. Het Cato-platform zelf was niet geraakt; volgens Cato gebruiken de kerncomponenten, waaronder de Sockets, geen PHP.

Dit is een brug, geen oplossing. Het koopt tijd tot je zelf gepatcht hebt, voor het verkeer dat door Cato gaat.

Patrick PetroniliaPatrick Petronilia, Senior Solution Architect Netherlands

Die kanttekening doet ertoe. De IPS-bescherming werkt alleen voor verkeer dat Cato inspecteert, en alleen als IPS aan staat. Inbound verkeer valt er ook onder, maar Cato doet geen TLS-inspectie op inkomende verbindingen. Een publieke website die via HTTPS bereikbaar is, valt dus buiten deze signatures. Daarvoor is een web application firewall (WAF) nodig. En patchen blijft hoe dan ook nodig.

Patchen is niet de finish

Ook wie inmiddels gepatcht heeft, is er nog niet:

  • Kijk terug. Onderzoek of aanvallers al binnen waren vóór de patch, minstens terug tot 17 oktober.
  • Vervang geheimen. Een van de lekken kan geheugen van andere verzoeken blootleggen. Vervang daarom wachtwoorden, tokens en API-sleutels op servers die kwetsbaar waren.
  • Let op afwijkend gedrag. Een webserver die ineens een shell of netwerktool start, of onverwacht naar buiten verbindt, is een sterk signaal. Blokkeer uitgaand verkeer vanaf servers standaard en sta alleen toe wat nodig is.
  • Houd limieten aan. Grenzen aan de grootte van verzoeken en uploads blijven nuttig, ook na de patch.

De lange staart

Volgens onderzoek van de NOS zijn ongeveer 145.000 Nederlandse websites mogelijk nog kwetsbaar, al is dat op afstand niet met zekerheid vast te stellen. Bert Hubert schat dat 47 procent van de websites op PHP een versie draait die geen ondersteuning meer krijgt.

En PHP 8.2 krijgt na 31 december 2026 geen beveiligingsupdates meer. Over ruim twee maanden komt er dus weer een versie bij zonder patches.

De volgende PHP2Shell is een kwestie van tijd. De vraag is hoeveel tijd je dan kunt kopen.

Patrick PetroniliaPatrick Petronilia, Senior Solution Architect Netherlands

Vijf vragen voor je organisatie

Het NIST Cybersecurity Framework is daarbij een goede spiegel. Vijf van de zes functies, toegepast op 21 oktober:

  1. Identify. Weet je waar PHP draait, ook bij je SaaS-leveranciers en in appliances?
  2. Protect. Wat beschermt je tussen het moment dat een lek uitlekt en het moment dat je patcht?
  3. Detect. Zou je merken dat een server ineens naar buiten belt?
  4. Respond. Wie besluit om uit te zetten, en op basis waarvan?
  5. Recover. Hoe weet je dat het veilig is om weer aan te zetten?

Waar Momentum staat

Momentum is gespecialiseerd implementatiepartner van Cato Networks in EMEA. Gebruik je Cato via Momentum, dan kijken we graag met je mee of IPS aan staat, welk verkeer Cato inspecteert en waar je publieke applicaties daarnaast een WAF nodig hebben. Sta je nog aan het begin, dan brengen we samen in kaart waar PHP in je omgeving draait en waar een brug je de volgende keer tijd koopt.

Een gesprek is vrijblijvend. Liever nu, in alle rust, dan tijdens de volgende.

Bronnen: NCSC, NOS, Binnenlands Bestuur, DutchBrief, Quote, The Register, The Next Web, CSO Online, ELLIO, Wiz, Qualys, EenVandaag, Help Net Security, PHP, Cato Networks.

FAQ

Veelgestelde vragen

Wat is PHP2Shell?

PHP2Shell is de verzamelnaam voor twee kritieke kwetsbaarheden in PHP, CVE-2026-109618 en CVE-2026-109619. Ze zitten in PHP zelf, niet in een plug-in, en laten een aanvaller zonder login code op een server uitvoeren. Alle versies vanaf PHP 5 zijn kwetsbaar.

Ben ik veilig als ik gepatcht heb?

Niet per se. Er was al misbruik vóór de patch. Onderzoek of aanvallers al binnen waren, minstens terug tot 17 oktober. Vervang wachtwoorden, tokens en API-sleutels op kwetsbare servers, en let op servers die onverwacht naar buiten verbinden.

Welke PHP-versies zijn bijgewerkt?

De bijgewerkte versies zijn 8.2.35, 8.3.36, 8.4.27 en 8.5.12. PHP 8.1 en ouder krijgen geen reguliere update, daar is overstappen op een ondersteunde versie nodig. PHP 8.2 krijgt na 31 december 2026 geen beveiligingsupdates meer.

Beschermt Cato tegen PHP2Shell?

Cato heeft IPS-signatures uitgerold tegen de bekende aanvalsscenario's, sinds 22 oktober in blokkeermodus en op 23 oktober over het hele netwerk bevestigd. Voor klanten met IPS aan werken ze automatisch, ook op inbound verkeer, maar niet op versleuteld inkomend HTTPS-verkeer. Ze vervangen het patchen niet, en publieke webapplicaties hebben daarnaast een WAF nodig.

Was het Cato-platform zelf kwetsbaar?

Nee. Volgens Cato was de productieomgeving niet geraakt; de kerncomponenten, waaronder de Sockets, gebruiken geen PHP.

Plan een gesprek

Weten hoe je ervoor staat na PHP2Shell?

Wil je weten waar PHP in je omgeving draait en hoe je de volgende keer tijd koopt? Plan een vrijblijvend gesprek met een security-specialist van Momentum.