Persoonlijk bericht

PHP2Shell: twee kritieke PHP-kwetsbaarheden

Vandaag is er veel onrust ontstaan rondom twee kritieke kwetsbaarheden in PHP. Omdat PHP op ontzettend veel webservers en websites wordt gebruikt, nemen systeembeheerders wereldwijd voorzorgsmaatregelen. Ook voor mijn homelab, MeijerLAB, was dit aanleiding om de nodige controles uit te voeren.

Wat is er aan de hand?

Het gaat om twee kwetsbaarheden, CVE-2026-109618 en CVE-2026-109619, die samen de naam PHP2Shell hebben gekregen. De kwetsbaarheden hebben een gemelde CVSS-score van 9,2 en kunnen onder bepaalde omstandigheden leiden tot Remote Code Execution (RCE).

Dat betekent dat een aanvaller mogelijk op afstand code kan uitvoeren op een kwetsbare server.

PHP wordt wereldwijd gebruikt voor onder andere WordPress, Nextcloud en talloze andere webapplicaties. De mogelijke impact is dan ook groot.

Omdat de beveiligingsupdates pas later vandaag worden verwacht, kiezen sommige beheerders ervoor om hun PHP-diensten tijdelijk offline te halen. Niet omdat deze systemen noodzakelijkerwijs zijn aangevallen, maar om risico's te beperken totdat er meer duidelijkheid is.

Controle van MeijerLAB

Ook binnen MeijerLAB gebruik ik PHP, al bleek dat gelukkig beperkt te zijn.

Met behulp van SSH, Proxmox en een controle van mijn Docker-containers heb ik geïnventariseerd waar PHP wordt gebruikt. Daarbij kwamen twee relevante diensten naar voren:

  • Nextcloud AIO, draaiend op PHP 8.4.26.
  • Mijn webserver, waarop PHP-FPM 8.4.26 actief is.

Voor zover ik heb kunnen vaststellen, gebruiken de overige gecontroleerde diensten geen PHP voor hun belangrijkste functionaliteit.

Uit voorzorg heb ik de twee betrokken diensten tijdelijk offline gehaald. De andere applicaties blijven voorlopig gewoon beschikbaar.

Meteen een mooi moment voor onderhoud

Omdat ik toch al bezig was met het controleren van mijn infrastructuur, leek dit me ook een goed moment om de rest van MeijerLAB eens na te lopen.

Ik heb alle draaiende LXC-containers gecontroleerd op automatische beveiligingsupdates. Bij zes containers bleek unattended-upgrades nog niet te zijn ingesteld. Dat is inmiddels aangepast, zodat alle 19 draaiende LXC-containers automatisch updates kunnen installeren.

Ook heb ik de beschikbare Linux-pakketupdates geïnstalleerd en een groot deel van mijn Docker-applicaties bijgewerkt, waaronder Immich, Dawarich, Mealie en verschillende andere diensten. Daarnaast is mijn reverse proxy, NPMPlus, bijgewerkt naar een recentere versie.

Tussendoor heb ik de status van de containers en de bestaande back-ups gecontroleerd. Niet alles is daarmee volledig bijgewerkt; onder andere het onderhoud aan de Proxmox-host staat nog open.

Het was niet direct de bedoeling om vandaag uitgebreid onderhoud te doen, maar uiteindelijk is het prettig om meteen wat achterstallige zaken mee te nemen.

Wachten op de beveiligingsupdates

De officiële PHP-beveiligingsupdates worden vandaag rond 16:00 uur Nederlandse tijd verwacht. Zodra deze beschikbaar zijn, kan ik beide PHP-omgevingen bijwerken en controleren of de diensten weer veilig online kunnen.

Het blijft afwachten wat de exacte impact van beide kwetsbaarheden is en welke configuraties daadwerkelijk kwetsbaar blijken.

Een goede herinnering

Dit soort meldingen laat zien hoe belangrijk het is om te weten welke software en versies je gebruikt. Zeker in een homelab, waar in de loop der tijd steeds meer applicaties en diensten bij komen.

Voor MeijerLAB lijkt de impact gelukkig beperkt te blijven tot twee tijdelijk uitgeschakelde diensten. Tegelijkertijd was het een goede aanleiding om de rest van de infrastructuur weer eens na te lopen en bij te werken.

Niet helemaal hoe ik mijn woensdag had gepland, maar uiteindelijk wel nuttig besteed.