Twee mensen werken aan computercode op monitoren in een lichte kantoorruimte
Nieuws22 oktober · 12:155 min leestijd

Cloudflare ziet miljoenen PHP-exploitpogingen na bekendmaking

Cloudflare telt miljoenen pogingen om twee PHP-lekken uit te buiten nadat details openbaar werden. De telling gaat over netwerkverkeer, niet over bevestigde inbraken, en vraagt om controle van patchstatus en logs.

Cloudflare-CEO Matthew Prince meldt dat het aantal PHP2Shell-exploitpogingen op zijn netwerk na de bekendmaking tot miljoenen opliep, nadat het binnen twee uur al tot honderdduizenden was gestegen.

Een PHP-website die na een patch weer online staat, zegt nog niet of er vóór die update aanvallen zijn aangekomen. Naast de runtimeversie zijn daarom ook de server- en eventuele WAF-logboeken van de bedrijfswebsite, het klantportaal of de interne webapp nodig. De telling van Cloudflare beantwoordt die vraag niet voor een specifieke Nederlandse site.

De meetreeks springt na de bekendmaking

Prince zette de tijdlijn op 22 oktober op X. In de tien uur vóór de bekendmaking zag Cloudflare duizenden pogingen op zijn netwerk. Voor de 45 minuten erna noemt hij tienduizenden pogingen, binnen twee uur honderdduizenden en op het moment van posten miljoenen. De post zegt niet of de aantallen per tijdvak gelden of cumulatief zijn. Ook geeft Prince geen telmethode of uitsplitsing naar unieke afzenders, servers of geblokkeerde verzoeken.

De telling geldt voor Cloudflare-verkeer en zegt dus niet hoeveel pogingen het hele internet zag. Evenmin blijkt of een verzoek een kwetsbare PHP-installatie bereikte of daar code kon uitvoeren.

De tijdlijn begint vóór de patch. De eerste PHP-berichtgeving ging over de vier herstelde versies en de pogingen die Cloudflare al vóór de update zag. Deze nieuwe meting gaat over de sterke toename na de bekendmaking. Samen laten de perioden zien dat er vóór de patch en na de bekendmaking pogingen liepen; hoeveel daarvan tot toegang leidden, blijft onbekend.

Pogingen zijn geen bevestigde inbraken

NU.nl meldde op 22 oktober dat het NCSC nog geen signalen had dat aanvallers toegang tot servers hadden gekregen of gegevens waren gestolen. Een dag eerder meldde het NCSC zelf nog geen actief misbruik te hebben gesignaleerd. Beide uitspraken zijn momentopnamen en bewijzen niet dat nergens een aanval slaagde. Een teller met exploitpogingen en een bevestigde inbraak zijn twee verschillende maatstaven.

Cloudflare beschreef al vóór de openbare bekendmaking dat aanvallers hun verzoeken aanpasten om WAF-regels te omzeilen. Vanaf 03.02 UTC gold PHP2Shell-bescherming standaard voor klanten met de Cloudflare-WAF, op gratis en betaalde plannen. De detectie kijkt naar zowel verzoek als reactie van de server. Cloudflare noemt die laag een extra bescherming en adviseert alsnog direct te patchen. De firewallcijfers kunnen dus pogingen omvatten die zijn tegengehouden, terwijl de X-post niet laat zien hoeveel daarvan een achterliggende server bereikten.

Wordfence zag een vergelijkbaar verloop bij Elementor Pro, een WordPress-plug-in met meer dan zes miljoen actieve installaties. De firewall blokkeerde ruim 190.000 pogingen sinds de bekendmaking op 19 augustus. Bij Elementor kon het uploadlek via een openbaar formulier tot code-uitvoering leiden. De PHP-teller noemt geen bereik of resultaat per server. Dat cijfer telt geblokkeerde pogingen, niet hoeveel organisaties toegang verloren.

De patch moet de PHP-runtime bereiken

De fout zit in de PHP-runtime die onder het CMS of de webapplicatie draait. De officiële PHP-waarschuwing geldt voor alle installaties die webverzoeken verwerken, waaronder PHP-FPM, Apache met mod_php, php-cgi, FrankenPHP en LiteSpeed. De genoemde fixes zijn PHP 8.5.12, 8.4.27, 8.3.36 en 8.2.35. PHP 8.1 en ouder krijgen geen reguliere updates van het PHP-project; Linux-distributies en LTS-leveranciers kunnen wel eigen teruggeplaatste fixes aanbieden.

Dat maakt de beheergrens belangrijk. Een WordPress-plug-in bijwerken verhelpt geen fout in de PHP-runtime. Bij een gehoste website kan de hoster de versie beheren; bij software van een leverancier kan de update via diens pakket of onderhoudsvenster komen. De organisatie moet daarom weten wie de runtime bijwerkt en hoe die update is bevestigd. De PHP-fixes voor 8.5.12, 8.4.27, 8.3.36 en 8.2.35, naast de eerdere aanvalsmeldingen zijn alleen relevant voor systemen waarop de juiste runtimeversie ook echt draait.

PHP-code met syntaxkleuren in een ontwikkelomgeving. Bron: lmonk72 / Wikimedia Commons (CC0)
PHP-code met syntaxkleuren in een ontwikkelomgeving. Bron: lmonk72 / Wikimedia Commons (CC0)

De wereldwijde cijfers hebben een blinde vlek

De reactie verschilt per organisatie. Het Japanse ministerie van Financiën schortte tijdelijk delen van zijn website en diensten op terwijl het servers controleerde en patches toepaste. Zuid-Korea verhoogde het cyberalarm voor private organisaties van ‘attention’ naar ‘caution’ en zette extra noodploegen paraat, blijkt uit de berichtgeving van Korea JoongAng Daily en The Korea Daily. Reuters beschrijft de bredere patchrace bij overheden in Azië.

Een aparte inventarisatie van CybelAngel telde ongeveer 2,24 miljoen internetgerichte hosts die PHP aankondigden. Van de circa 1,5 miljoen hosts die ook een versie toonden, draaide 59 procent op een versie zonder officiële release van het PHP-project. De cijfers zijn gebaseerd op Shodan-banners die Mallory publiceerde. Het gaat om internetgerichte systemen, geen telling van organisaties, websites of succesvolle aanvallen. De schatting laat wel zien waarom een beheerder niet alleen op het CMS-dashboard kan vertrouwen: PHP kan ook in hosting, beheersoftware of een product van een leverancier zitten.

Voor Nederlandse organisaties is de wereldwijde teller daarom vooral een tijdlijn, geen risicoscore voor de eigen website. De patch sluit de bekende fout pas als de juiste runtime draait. De relevante server- en WAF-logboeken moeten uitwijzen wat er rond de bekendmaking op jouw servers gebeurde en of verzoeken verder kwamen dan de firewall. Zonder een actuele inventaris en die controle blijft de toestand van een afzonderlijke dienst onbekend, ook wanneer de website alweer bereikbaar is.

Veelgestelde vragen

Alisina Nawabi
Geschreven doorAlisina Nawabi

AI Product Engineer & Solutions Architect

Bestaande software bijwerken

Ik denk mee over hoe je bestaande software beheert, ontwerp een haalbare route en realiseer de aanpassingen en automatisering. Waar het kan, draait de oplossing op je eigen infrastructuur.

Meer informatie

Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.

Gerelateerde artikelen

PHP verhelpt twee kritieke lekken na AI-vondst
Nieuws
5 minBijgewerkt om 02:15

21 okt 20:10

PHP verhelpt twee kritieke lekken na AI-vondst

PHP brengt fixes uit voor twee kwetsbaarheden waarmee aanvallers zonder login code op een server kunnen uitvoeren. Welke runtime achter elke site draait, bepaalt of patchen, afschermen of tijdelijk offline gaan nodig is.

Aanvallers misbruiken kritiek uploadlek in Elementor Pro
Nieuws
4 min

3 sep 12:22

Aanvallers misbruiken kritiek uploadlek in Elementor Pro

Een kritiek uploadlek in Elementor Pro wordt sinds 19 augustus actief misbruikt op WordPress-sites. Wordfence blokkeerde ruim 190.000 pogingen. Versie 4.2.2 dicht het gat, maar de changelog van Elementor verraadt die urgentie nergens.

Gehackte feed van BdThemes maakt stille beheerders aan op WordPress-sites
Nieuws
4 min

11 aug 00:21

Gehackte feed van BdThemes maakt stille beheerders aan op WordPress-sites

Zeven WordPress-plugins van BdThemes maakten via een vergiftigde promotiefeed stille beheerdersaccounts aan, zonder dat er een bestand veranderde. Wat er gebeurde, waar je op controleert en waarom dit een leverancierskeuze is.

WordPress-patchroutine voor het mkb: van noodpatch naar cadans
Gids
Uitgebreide gids13 min

26 jul 09:00

WordPress-patchroutine voor het mkb: van noodpatch naar cadans

Een kernlek in WordPress wordt binnen uren misbruikt. Deze gids loopt eerst de sporencheck af (ben je al binnen geweest?) en bouwt daarna de routine: gelaagde auto-updates, staging, pluginaudit en monitoring.

Google en Mozilla blokkeren zes eMudhra-TLS-intermediairs
Nieuws
4 min

21 okt 12:15

Google en Mozilla blokkeren zes eMudhra-TLS-intermediairs

eMudhra meldt dat een fout bij een sleutelceremonie acht zwakke CA-sleutels opleverde. Google en Mozilla blokkeren zes TLS-intermediairs; Chrome haalt op 27 oktober ook een bovenliggende root uit de truststore.

Aanvallers plaatsen achterdeurtjes op WordPress-sites via UpdraftCentral
Nieuws
5 min

21 okt 04:28

Aanvallers plaatsen achterdeurtjes op WordPress-sites via UpdraftCentral

Gestolen UpdraftCentral-sleutels gaven aanvallers toegang tot WordPress-sites. De wereldwijde besmettingstelling is onbekend, en een pluginupdate verwijdert achtergebleven code niet. Sommige sleutels moeten handmatig worden verwijderd.