TestMonitor Blog

Terugblik: downtime op 21 oktober 2026 (beveiligingslek in PHP)

Geschreven door Thijs Kok | oktober 22, 2026

Op woensdag 21 oktober 2026 hebben we TestMonitor uit voorzorg offline gehaald vanwege twee kritieke kwetsbaarheden in PHP, de programmeertaal waarop ons platform is gebouwd. Diezelfde avond was TestMonitor weer beschikbaar.

Onze excuses voor de hinder die dit jou en je team heeft bezorgd. Hieronder leggen we uit wat er is gebeurd, waarom we deze beslissing hebben genomen en wat we sindsdien hebben gedaan.

Samenvatting

Op 21 oktober heeft de PHP Foundation twee kritieke beveiligingslekken bekendgemaakt en verholpen, samen PHP2Shell genoemd (CVE-2026-109618 en CVE-2026-109619). Deze kwetsbaarheden treffen PHP-webapplicaties wereldwijd en kunnen een aanvaller in staat stellen om met één enkel webverzoek een server over te nemen. Details lekten uit voordat de patch beschikbaar was en er werden aanvallen gemeld.

We hebben TestMonitor offline gehaald totdat we de officiële patch konden installeren. Bij beveiligingscontroles voor, tijdens en na de onderbreking zijn geen aanwijzingen gevonden voor een inbraak of voor toegang tot klantgegevens. Je hoeft zelf niets te doen.

Wat is er gebeurd?

PHP is de programmeertaal waarop TestMonitor draait, net als een groot deel van de websites en webapplicaties wereldwijd. De PHP2Shell-kwetsbaarheden zitten in PHP zelf, niet in onze eigen code. Eén speciaal opgesteld webverzoek kan ervoor zorgen dat de server commando’s uitvoert die de aanvaller kiest. Omdat dit gebeurt voordat onze eigen code uitgevoerd wordt, kunnen beveiligingsmaatregelen binnen de applicatie, zoals inlogcontroles en rechten, dit niet tegenhouden.

De PHP Foundation heeft de officiële oplossing op 21 oktober om 16:00 GMT+2 uitgebracht. Details waren al eerder uitgelekt en er werden aanvallen gemeld in de uren voordat de oplossing beschikbaar was. Zie voor meer achtergrondinformatie PHP2Shell op Wikipedia of de technische analyses van Datadog Security Labs en CrowdStrike.

Waarom we offline zijn gegaan

De PHP Foundation publiceerde tijdelijke maatregelen, maar volgens PHP zelf verkleinen deze het risico zonder een server echt veilig te maken. Alleen de officiële patch doet dat. Omdat er al aanvallen waren gemeld en de patch nog niet beschikbaar was, hebben we ervoor gekozen TestMonitor offline te halen in plaats van kwetsbaar te blijven.

Nationale cyberbeveiligingsinstanties, waaronder CISA in de VS, het NCSC in het Verenigd Koninkrijk en het NCSC in Nederland, adviseerden hetzelfde voor systemen die niet direct konden worden gepatcht. Volgens nieuwsberichten hebben verschillende overheden, waaronder de Nederlandse overheid, om dezelfde reden diensten tijdelijk offline gehaald.

We wisten dat het offline halen van TestMonitor je werk zou verstoren. Toch vonden we die onderbreking minder erg dan het risico dat je gegevens gevaar zouden lopen.

Gevolgen

Op 21 oktober waren alle TestMonitor-diensten van 13:10 tot 21:20 GMT+2 (8 uur en 10 minuten) niet beschikbaar. Het ging om de applicatie, de API, webhooks, geplande jobs en uitgaande e-mails. Er zijn geen gegevens verloren gegaan: alles wat vóór de onderbreking was opgeslagen, is intact.

Onze controles hebben geen aanwijzingen opgeleverd voor een inbraak of voor ongeoorloofde toegang tot klantgegevens. Je hoeft zelf niets te doen.

Tijdlijn

Alle hieronder vermelde tijden zijn in Nederlandse tijd (GMT+2).

20 oktober

  • 20:00 – De eerste meldingen en waarschuwingen over kritieke PHP-kwetsbaarheden deden online de ronde.
  • 23:00 – Er bleven meldingen circuleren, maar het was nog onduidelijk wat de aanvalsvector was en welke PHP-installaties getroffen waren.

21 oktober

  • 06:00 – Er was nog steeds geen betrouwbare informatie over hoe de kwetsbaarheden konden worden misbruikt en wat de gevolgen waren.
  • 08:00 – We begonnen op basis van de beschikbare informatie te beoordelen in hoeverre we kwetsbaar waren.
  • 11:30 – We pasten de tijdelijke maatregelen van de PHP Foundation toe en testten ze.
  • 12:45 – De eerste ronde beveiligingscontroles was afgerond. Er waren geen aanwijzingen voor een inbraak.
  • 13:10 – We haalden TestMonitor uit voorzorg offline, omdat de tijdelijke maatregelen alleen onvoldoende bescherming boden.
  • 13:15 - We publiceerden een update op de statuspagina.
  • 16:00 – De PHP Foundation bracht de officiële patch uit.
  • 17:00 – Linux-distributies begonnen met het bouwen van bijgewerkte PHP-pakketten.
  • 20:40 – De bijgewerkte PHP-pakketten kwamen beschikbaar voor onze servers.
  • 21:10 – De gepatchte PHP-versie was op alle servers geïnstalleerd en alle PHP-processen waren opnieuw opgestart.
  • 21:15 - De tweede ronde beveiligingscontroles was afgerond. Er waren geen aanwijzingen voor een inbraak.
  • 19:20 – TestMonitor was weer volledig beschikbaar.

22 oktober

  • 09:00 – De derde ronde beveiligingscontroles was afgerond, op basis van de meest recente informatie over hoe aanvallers deze kwetsbaarheden misbruiken. Ook nu waren er geen aanwijzingen voor een inbraak.
  • 12:00 – We begonnen uit voorzorg met het vernieuwen van wachtwoorden, sleutels en andere geheime gegevens.

Wat we hebben gedaan?

  • We hebben de door de PHP Foundation aanbevolen tijdelijke maatregelen toegepast terwijl we wachtten op de officiële patch.
  • We hebben TestMonitor offline gehaald zodra duidelijk werd dat de tijdelijke maatregelen op zichzelf niet voldoende waren.
  • We hebben je op de hoogte gehouden via onze statuspagina en onze supportkanalen.
  • We hebben de officiële patch op alle servers geïnstalleerd zodra de bijgewerkte pakketten beschikbaar waren, en alle PHP-processen opnieuw opgestart, zodat er geen enkel proces meer op de oude, kwetsbare versie draaide.
  • We hebben TestMonitor weer online gezet en gecontroleerd of alles naar behoren werkte.
  • We hebben drie beveiligingscontroles uitgevoerd in twee dagen tijd: voordat we offline gingen, voordat we TestMonitor weer beschikbaar maakten en de dag erna nog een keer, telkens op basis van de meest recente informatie.
  • We zijn uit voorzorg begonnen met het vervangen van wachtwoorden, sleutels en andere geheime gegevens, omdat een geslaagde aanval gegevens uit het servergeheugen theoretisch zou kunnen blootleggen.

Beveiligingscontroles

Een geslaagde PHP2Shell-aanval laat weinig sporen achter. Daarom hebben we gezocht naar de specifieke signalen die beveiligingsonderzoekers hebben beschreven. Concreet hebben we:

  • De foutlogs van PHP en de webserver doorzocht op de geheugenfouten die optreden bij pogingen tot misbruik.
  • De webserverlogs gecontroleerd op ongewoon grote formulierverzoeken.
  • Gecontroleerd of de webserver onverwachte processen had gestart, zoals shells.
  • Onze servers gescand op onbekende of gewijzigde bestanden, waaronder webshells, en onze applicatiecode vergeleken met onze repository.
  • Gecontroleerd op onbevoegde gebruikersaccounts, geplande jobs, SSH-sleutels en ongebruikelijke uitgaande verbindingen.

Resultaat: we hebben geen aanwijzingen gevonden voor een inbraak, voor toegang tot klantgegevens of voor aantasting daarvan.

Volgende stappen

Onze controles leverden geen afwijkingen op, maar we beschouwen dit incident nog niet als afgesloten. In de komende weken gaan we:

  • Onze logs en servers blijven monitoren op signalen van PHP2Shell-aanvallen, zoals geheugenfouten aan het begin van een verzoek en onverwachte processen die door de webserver worden gestart.
  • Een extra beveiligingslaag voor onze servers evalueren, zoals een geavanceerdere webapplicatiefirewall (WAF), die kwaadaardige verzoeken tegenhoudt voordat ze PHP bereiken en waarmee we nieuwe aanvalspatronen snel kunnen blokkeren.
  • Nieuwe beveiligingsupdates voor PHP nauwlettend in de gaten houden.

Vragen?

We beseffen dat de onderbreking voor overlast heeft gezorgd en danken je voor je geduld. We zijn offline gegaan omdat de bescherming van je gegevens en onze systemen voor ons altijd voorop staat.

Heb je vragen? Neem dan contact met ons op via support@testmonitor.com.