PHP2Shell: wat er gebeurde, en wat je nu kunt doen
Twee kritieke kwetsbaarheden in PHP legden op 21 oktober 2026 duizenden sites plat. Wat er gebeurde en welke stappen er nu toe doen.
Op de ochtend van 21 oktober 2026 werden twee kritieke beveiligingsfouten in de programmeertaal PHP publiek gemaakt terwijl er nog geen fix klaar was. Binnen enkele uren haakten overheidswebsites, ziekenhuizen, voetbalclubs, mediabedrijven en universiteiten in Nederland en België hun sites offline. DigiD ging op zwart. Het NCSC, het nationale cybersecuritycentrum, nam voorzorgshalve ook de eigen website offline.
Hier is wat er gebeurde en wat het voor je betekent.
Wat is PHP?
PHP is de programmeertaal die de serverside-code draait van ruwweg 70% van alle websites. Elke WordPress-, Drupal-, Joomla- en TYPO3-site draait erop. Veel op maat gebouwde webapplicaties ook. De taal bestaat sinds 1995 en is, ondanks haar leeftijd, nog steeds de ruggengraat van het grootste deel van het web.
De kwetsbaarheid
Twee kwetsbaarheden, CVE-2026-109618 en CVE-2026-109619, scoren 9,2 uit 10 op de gangbare ernstschaal. Securityonderzoekers noemden ze "PHP2Shell".
De kwetsbaarheid laat een aanvaller willekeurige code uitvoeren op je server, via internet, zonder gebruikersnaam of wachtwoord nodig te hebben. Alle PHP-versies vanaf PHP 5 zijn kwetsbaar. Dat betreft praktisch elke PHP-versie die ooit is uitgebracht.
De PHP Foundation maakte op 21 oktober om 16:00 een patch beschikbaar, maar alleen voor PHP 8.x. Oudere versies (PHP 7, PHP 5) zijn end-of-life en krijgen geen fix meer.
Wat moet je doen?
- Achterhaal of je site op PHP draait. Vraag het je hostingprovider of je webbouwer. WordPress, Drupal, Joomla en TYPO3 draaien allemaal op PHP.
- Update PHP. Log in op je hostingcontrolepaneel (cPanel, Plesk of vergelijkbaar) en zoek naar een PHP-versie-instelling. Update naar de nieuwste PHP 8.x-release. Kun je dat niet zelf, neem dan vandaag contact op met je hostingprovider en vraag om een update.
- Sta je nog op PHP 7 of PHP 5, behandel dit dan als urgent. Voor die versies komt geen patch. Upgraden naar PHP 8 vereist dat je je site eerst test. Als je site gevoelige gegevens verwerkt, overweeg dan om hem tijdelijk offline te halen tot de upgrade klaar is.
-
Controleer na het updaten de versie. De meeste hostingpanelen tonen de
actuele PHP-versie. Alternatief: als je server een
X-Powered-By: PHP/8.x.y-responseheader stuurt, controleer dan of het versienummer overeenkomt met de nieuwste release.
Hoe detecteert Noroshi dit?
Veel webservers vermelden de PHP-versie in de X-Powered-By-responseheader,
bijvoorbeeld X-Powered-By: PHP/8.2.27. Noroshi leest deze header bij elke
scan en vergelijkt de gedetecteerde versie met onze kwetsbaarheidsdatabase, die dagelijks
wordt gesynchroniseerd vanuit CIRCL, de door de EU bedreven vulnerability-intelligence-dienst.
Als de versie overeenkomt met een bekende CVE, verschijnt er een finding in je dashboard met de exacte versie, de CVE-identifier en een stappenplan. Zodra CVE-2026-109618 en CVE-2026-109619 zijn geïndexeerd, toont elk gemonitord domein waarvan de server een kwetsbare PHP-versie blootgeeft de finding bij de volgende scan.
Dit is volledig passief: we lezen de informatie die je server al bij elk pagina-verzoek meestuurt. We voeren geen exploitpogingen uit en sturen geen payloads van welke soort dan ook.
Geeft je server de PHP-versie niet prijs in zijn responseheaders, wat op zichzelf al goede praktijk is, dan kunnen we hem op deze manier niet detecteren en wordt er geen finding aangemaakt.
De bredere les
PHP2Shell herinnert aan een basale waarheid: de software die je website draait, is ook het doelwit. Kwetsbaarheden zoals deze worden regelmatig ontdekt, en aanvallers handelen snel zodra een fout publiek is.
Je kunt niet voorkomen dat kwetsbaarheden worden ontdekt. Je kunt er wel voor kiezen om er snel van te horen en te handelen vóór een aanvaller dat doet.
Geschreven door David Hildering, de engineer achter Noroshi. Meer over Noroshi.