PHP2Shell: wat het PHP-lek betekent voor je website of app

Damian Madronal Munoz, oprichter

4 min leestijd

Op woensdag 21 oktober 2026 gingen in Nederland een reeks websites uit voorzorg op zwart. DigiD, MijnOverheid en Overheid.nl, maar ook Tweakers en de sites van gemeenten en ziekenhuizen. De oorzaak was geen inbraak bij één site. Het waren twee lekken in PHP, de programmeertaal onder WordPress, Laravel en een groot deel van alle websites.

De feiten hieronder komen van het PHP-project, de Rijksoverheid, de Amerikaanse cyberdienst CISA en beveiligingsbedrijf Rapid7, en zijn gecontroleerd op 30 oktober 2026.

Wat er gebeurde

  • 21 oktober: PHP maakt twee lekken bekend, CVE-2026-109618 en CVE-2026-109619, samen PHP2Shell genoemd. Allebei scoren ze 9,2 op 10. Een aanvaller kan er zonder in te loggen eigen code mee draaien op de server, met de rechten van de webserver.
  • Dezelfde dag halen de Rijksoverheid, DPG Media en anderen sites uit voorzorg offline. Volgens de Rijksoverheid waren er op dat moment nog geen signalen van misbruik.
  • Rond 16.00 uur komen de reparaties: PHP 8.2.35, 8.3.36, 8.4.27 en 8.5.12.
  • 23 oktober: PHP meldt een derde lek, CVE-2026-115560, dat niet in de updates van 21 oktober zit. Een reparatie volgt in de volgende gewone release. Tot die er is, raadt PHP aan om session.upload_progress.enabled op 0 te zetten.
  • 26 oktober: CISA zet beide lekken op de lijst van kwetsbaarheden die actief misbruikt worden. Vanaf dat moment is het geen theorie meer.

Wie er last van heeft

Elke server die met PHP webverzoeken beantwoordt, hoe die ook is ingericht: PHP-FPM, Apache met mod_php, php-cgi, FrankenPHP of LiteSpeed. In gewone woorden:

  • WordPress en WooCommerce.
  • Laravel-applicaties en andere PHP-frameworks.
  • Drupal, Joomla, Magento, PrestaShop en de meeste andere systemen die je zelf host.

Het lek zit in PHP zelf, niet in WordPress of Laravel. Een update van WordPress, je thema of je plugins lost het niet op, en een beveiligingsplugin houdt het niet tegen.

Ons eigen platform Buurtgebak draait op Laravel en PHP 8.4. Het viel er net zo goed onder als elke WordPress-site. Wie je vertelt dat maatwerk je hiertegen beschermt, vertelt de helft. Hetzelfde geldt voor InboxFlow, het platform dat we met een partner bouwden: een Laravel-backend, dus PHP.

Wie er niets mee te maken had

Sites zonder PHP op de server. Rijksoverheid.nl draait niet op PHP en bleef volgens de Rijksoverheid zelf daarom gewoon in de lucht. Hetzelfde geldt voor sites die als kant-en-klare HTML worden uitgeleverd, zoals deze site, en voor websitebouwers waar de aanbieder de servers beheert. Daar is patchen hun werk, niet het jouwe. Wat dat verschil betekent voor een nieuwe site, staat in statische website of WordPress.

Wat je nu doet

  1. Zoek uit welke PHP-versie draait. In WordPress staat die onder Gereedschap, Sitestatus, Info, Server. In een Laravel-app geeft php -v op de server het antwoord. Of vraag het je hostingpartij.
  2. Check of het een gerepareerde versie is: 8.2.35, 8.3.36, 8.4.27, 8.5.12 of nieuwer. Sommige Linux-distributies bouwen de reparatie in zonder het versienummer te veranderen. Staat er een ouder nummer, vraag dan na of de reparatie erin zit.
  3. Draait er PHP 8.1 of ouder, dan bestaat er geen gewone update. PHP leverde alleen losse reparaties voor 7.4, 8.0 en 8.1, en die moet je hostingpartij zelf inbouwen. Dit is het moment om over te stappen. Kies dan 8.3 of nieuwer: PHP 8.2 krijgt na 31 december 2026 geen beveiligingsupdates meer. Hoe zo’n overstap gaat zonder dat je site stilvalt, staat bij een PHP-upgrade laten doen.
  4. Kijk of er iets veranderd is. Onbekende beheerders, bestanden die je niet kent, een waarschuwing van Google of van je hostingpartij: dan is er mogelijk ingebroken en ruim je eerst op. Dat doen wij ook, bij een gehackte website.
  5. Regel wie dit de volgende keer doet. Op 21 oktober zat het verschil niet tussen WordPress en maatwerk. Het zat in wie die middag de update installeerde.

Wij zoeken uit wat er bij jou draait⁠

Stuur ons het adres van je site of applicatie. Binnen één werkdag hoor je van ons, ook als het WordPress is.

Laat het ons nakijken

Het verschil zit in het beheer

Een site zonder PHP hoeft niets te patchen. Een site met PHP heeft iemand nodig die het doet, op de dag dat het moet. Daarvoor is onderhoud en hosting: wij houden PHP, het framework en de pakketten bij, ook als we de site niet zelf gebouwd hebben. Voor een WordPress-site staat wat dat inhoudt bij WordPress onderhoud en beveiliging.

Veelgestelde vragen⁠

Is mijn WordPress-site gehackt?

Niet per se. De meeste sites die op 21 oktober offline gingen, deden dat uit voorzorg. Zie je onbekende beheerders, bestanden die je niet kent of een waarschuwing van Google, ga dan uit van een inbraak. Wat we dan doen, staat bij website gehackt.

Houdt een beveiligingsplugin dit tegen?

Nee. Het lek zit in de manier waarop PHP een verzoek verwerkt, soms nog voordat WordPress en je plugins aan de beurt zijn. Alleen een bijgewerkte PHP-versie dicht het.

Mijn hostingpartij regelt PHP. Moet ik zelf iets doen?

Vraag het na. Veel hostingpartijen hebben de reparatie zelf geplaatst, maar of dat ook voor jouw pakket en jouw PHP-versie geldt, weet je pas als je het vraagt. Draait je site op PHP 8.1 of ouder, dan moet hij naar een nieuwere versie.

Is Laravel ook kwetsbaar?

Ja. Laravel is geschreven in PHP en draait op dezelfde PHP-processen als WordPress. Laravel zelf hoeft niet bij te werken, PHP wel. Loopt je applicatie al achter, lees dan wat er met PHP 8.2 stopt.

Vertel ons wat er draait⁠

De kennismaking is gratis. We reageren binnen één werkdag.