Geen succesvolle hack, wel een echt lek
Waren de afgelopen dagen dan volledig voor niets? Zijn er op zoveel plaatsen dan enorme fouten gemaakt? Nee, zeker niet. Integendeel.
Even terug naar het begin: een echt veiligheidsprobleem in PHP, eentje dat al sinds 2019 bekend was. Een bug die werd gevonden nog voor er AI-tools bestonden om ons werk te doen.
Die AI maakt de laatste maanden wel het verschil. Met haar bijna oneindige rekenkracht levert ze uren werk op waar je vroeger zelf nooit van zou dromen. Precies die evolutie toont aan dat het beschreven probleem echt relevant is.
Jarenlang was de consensus dat dit lek bijna onmogelijk te misbruiken was. Tijdens de zomervakantie bewezen enkele beveiligingsbedrijven het tegendeel: misbruik is wel degelijk mogelijk.
Waarom duurt het dan zo lang voor er echt ‘succes’ is, als we een gehackte server zo willen noemen? Is dit het higgsboson van de PHP-lekken?
De afgelopen dagen hebben ook wij mogelijke exploitcode getest en de aanvallen op al onze systemen geanalyseerd. En die aanvallen zijn er genoeg: miljoenen requests per uur hameren op alles wat op het internet staat.
Niets is succesvol. Websites blijven draaien, zoals je zelf wel ziet. De apocalyps blijft volledig uit.
Waarom blijft de apocalyps uit?
Je zou kunnen zeggen: dit lek bestaat niet en al die bedrijven zochten gewoon wat aandacht om weer eens AI te pushen. Dan moet ik je toch teleurstellen.
Het is echt en we hebben zelf ook een werkende proof of concept (PoC), eentje op basis van code die gewoon publiek beschikbaar is op GitHub.
En dan komt het ‘maar’, anders had ik deze tekst niet hoeven te schrijven. Al deze exploits komen voorlopig met een handleiding die uitlegt hoe je je server moet opzetten om het lek te laten werken. Een beetje de omgekeerde wereld, maar het helpt je wel te begrijpen welke risico’s je werkelijk loopt.
Sommige van deze instellingen zijn te technisch om hier diep op in te gaan en voor de meesten moeilijk te volgen, maar ze zijn wel enorm nuttig als achtergrond om de werkelijke context te begrijpen.
De meest voor de hand liggende is de memory limit van PHP, die behoorlijk beperkt moet zijn: ver onder wat de meesten op hun hosting krijgen. Het andere is de manier waarop PHP draait. PHP moet hiervoor als module van een Apache-webserver draaien, met bovendien een beperking op het aantal achterliggende processen.
Laat dat nu net configuratiekeuzes zijn die je de afgelopen 15 jaar normaal gesproken nooit bij een hostingprovider zou vinden. Daar draait PHP apart van de webserver en is de geheugenlimiet vrij hoog om moderne webapplicaties zoals WordPress en Drupal te kunnen draaien.
Wij bouwen omgevingen waarin meer dan één persoon tegelijkertijd je website kan bezoeken. En precies dat gooit momenteel flink roet in het eten van deze exploits.
Zeg ik nu eigenlijk: “Stop met die heisa, men overdrijft”? Nee, natuurlijk niet. Het probleem is bewezen en het is echt. Wat vertellen ze je er niet bij? Het rationele: de sterren moeten momenteel wel zeer gunstig staan voor de hacker.
Er zal waarschijnlijk ooit een werkende exploit komen. Dat kan heel snel gaan, misschien zelfs uren na deze publicatie, maar het kan evengoed nog eens zeven jaar duren. Het aantal tokens dat momenteel aan deze zoektocht wordt verbrand, zal wel enorm zijn.

