Kritieke beveiligingsupdates voor PHP en Node.js: wat wij hebben gedaan en wat u moet doen

Patrick Wunderlin
Patrick Wunderlin
Kritieke beveiligingsupdates voor PHP en Node.js: wat wij hebben gedaan en wat u moet doen

Vandaag, 21 oktober 2026, hebben zowel PHP als Node.js beveiligingsupdates uitgebracht. Vooral de PHP-kwetsbaarheden zijn ernstig: de updates verhelpen twee kritieke lekken waarmee aanvallers zonder in te loggen code op een webserver kunnen uitvoeren. Er werden al aanvallen gemeld voordat de patch beschikbaar was.

WireBoard is al bijgewerkt. Er was geen downtime. U hoeft niets te doen voor uw WireBoard-account of trackingscript.

Draait uw eigen website of app op PHP of Node.js? Lees dan verder en werk deze vandaag nog bij.

In het kort

Bijwerken naar

Ernst

PHP

8.5.12, 8.4.27, 8.3.36 of 8.2.35 (of het gepatchte pakket van uw leverancier)

Kritiek (CVSS 9,2), uitvoering van code op afstand zonder authenticatie

Node.js

26.12.1, 24.22.1 of 22.23.4

Hoog

  • Gebruikt u WordPress, Magento, Drupal, Laravel of een andere PHP-app? Dan gebruikt u PHP. Werk dit nu bij.

  • Gebruikt u shared of managed hosting? Uw hostingprovider installeert de PHP-patch. Controleer of dat al is gebeurd.

  • Herstart PHP-FPM of Apache nadat u PHP hebt bijgewerkt. Anders blijft de oude versie draaien.

  • Gebruikt u een versie die niet meer wordt ondersteund (PHP 8.1 of ouder, Node.js 25, 23, 20 of ouder)? Daarvoor komt geen officiële patch. Plan de overstap naar een ondersteunde versie.


Wat is er gebeurd?

PHP: "PHP2Shell" (CVE-2026-109618 en CVE-2026-109619)

Het PHP-team heeft patches uitgebracht voor twee kritieke kwetsbaarheden. Beide hebben een score van 9,2 op de CVSS v4.0-schaal:

  • CVE-2026-109618: uitvoering van code op afstand via geheugenbeschadiging wanneer PHP tijdens de afhandeling van een verzoek geen geheugen meer beschikbaar heeft.

  • CVE-2026-109619: uitvoering van code op afstand via verouderde globale statusgegevens.

Beide kwetsbaarheden zijn op afstand te misbruiken, zonder authenticatie en met de standaardconfiguratie. Details lekten een dag vóór de geplande release online uit. Beveiligingsbedrijven zagen daardoor al aanvallen en verkenningspogingen op PHP-sites voordat de patch beschikbaar was. Verschillende bedrijven haalden hun diensten uit voorzorg offline totdat ze de update konden installeren.

Alle ondersteunde PHP-reeksen zijn kwetsbaar in versies vóór 8.2.35, 8.3.36, 8.4.27 en 8.5.12.

Node.js: beveiligingsupdate van oktober 2026

Node.js heeft voor de versiereeksen 26.x, 24.x en 22.x patches uitgebracht voor 10 kwetsbaarheden. Daarvan hebben er 4 de ernstclassificatie Hoog. De belangrijkste:

  • CVE-2026-111497: een schrijfactie buiten de toegewezen geheugengrenzen in de Brotli-decompressor, waardoor mogelijk code op afstand kan worden uitgevoerd. Uw app kan hier al mee te maken krijgen wanneer deze met fetch() gegevens ophaalt van een server die Brotli-gecomprimeerde data terugstuurt.

  • CVE-2026-105483 / CVE-2026-106069: manieren om de TLS-controle van hostnamen te omzeilen met ongebruikelijke schrijfwijzen van IP-adressen.

  • CVE-2026-105482: dns.resolve kon een andere naam opzoeken dan de naam die uw code had gecontroleerd.

Wat hebben wij gedaan?

We hebben vandaag beide updates op de volledige infrastructuur van WireBoard geïnstalleerd. Dat verliep zonder downtime of gevolgen voor uw gegevens. Ook aan het gebruik van WireBoard verandert niets.

Moet u actie ondernemen?

U moet actie ondernemen als uw website, app of server gebruikmaakt van:

  • PHP, rechtstreeks of via een CMS of framework zoals WordPress, WooCommerce, Magento, Drupal, Joomla, Laravel of Symfony.

  • Node.js, bijvoorbeeld voor een Next.js-, Nuxt-, Express- of NestJS-app, of voor een backenddienst of buildserver die op Node draait.

Weet u het niet zeker? Vraag het uw ontwikkelaar of hostingprovider. Eén vraag volstaat: "Draait onze site op PHP of Node.js en is de beveiligingsupdate van vandaag al geïnstalleerd?"

Zo controleert u uw versie

PHP

Het gaat om de PHP-versie die uw webserver gebruikt. Met php -v in een terminal ziet u de versie voor de opdrachtregel. Die kan anders zijn.

  1. Maak in de hoofdmap van uw website een bestand met de naam info.php en de inhoud <?php phpinfo();

  2. Open dit bestand in uw browser en controleer bovenaan de waarde bij PHP Version.

  3. Verwijder het bestand direct daarna: het maakt uw volledige serverconfiguratie zichtbaar.

Veel hostingpanelen, zoals cPanel en Plesk, tonen ook de PHP-versie.

Let op bij pakketten van Linux-distributies: Ubuntu, Debian, RHEL en vergelijkbare distributies passen de patch vaak toe op bestaande versies zonder het versienummer te wijzigen. Controleer in dat geval of de CVE-nummers in het changelog van het pakket staan (zie hieronder).

Node.js

node -v

De patch is geïnstalleerd als u v26.12.1, v24.22.1, v22.23.4 of een nieuwere versie binnen dezelfde reeks ziet.

Zo werkt u PHP bij

Volg de instructies die passen bij de manier waarop PHP op uw server is geïnstalleerd.

Shared of managed hosting

Uw provider beheert PHP en installeert de patch. Bekijk de statuspagina of aankondigingen van uw provider en controleer daarna de versie met phpinfo(), zoals hierboven beschreven. Kunt u in uw hostingpaneel zelf een PHP-versie kiezen en gebruikt u 8.1 of ouder? Stap dan over op 8.2 of nieuwer. Controleer eerst of uw CMS en plug-ins die versie ondersteunen.

Ubuntu / Debian

sudo apt update
# replace 8.3 with the PHP branch you use
sudo apt install --only-upgrade 'php8.3-*'

# confirm the fix is included
apt changelog php8.3-fpm | grep -E 'CVE-2026-10961(8|9)'

Geeft de laatste opdracht geen uitvoer? Dan staat de patch nog niet in de repository van uw distributie. Bekijk Ubuntu Security Notices of de Debian Security Tracker en probeer het later opnieuw. Gebruikt u de PHP-pakketten van Ondřej Surý? Werk ze dan op dezelfde manier bij vanuit die repository.

RHEL / AlmaLinux / Rocky Linux

dnf module list php          # see which PHP stream you're on
sudo dnf upgrade 'php*'

# confirm the fix is included
rpm -q --changelog php-fpm | grep -E 'CVE-2026-10961(8|9)'

Gebruikt u de Remi-repository? Haal de update dan daar op.

Docker

Een nieuwe image ophalen werkt bestaande containers niet bij. Haal de image op, bouw opnieuw en maak de containers opnieuw aan:

docker pull php:8.3-fpm        # use your tag
docker compose build --pull
docker compose up -d

Leg voor extra zekerheid de gepatchte versie vast in uw Dockerfile (bijvoorbeeld FROM php:8.3.36-fpm).

Zelf gecompileerd of Windows

Download de gepatchte versie via php.net/downloads.

Herstart daarna PHP

Deze stap wordt makkelijk vergeten. Actieve processen blijven de oude PHP-versie gebruiken totdat ze opnieuw worden gestart:

# PHP-FPM (Debian/Ubuntu; replace 8.3 with your branch)
sudo systemctl restart php8.3-fpm

# PHP-FPM (RHEL family)
sudo systemctl restart php-fpm

# Apache with mod_php
sudo systemctl restart apache2   # or httpd on RHEL

Controleer daarna opnieuw met phpinfo() of de nieuwe versie actief is.

"Kan ik niet gewoon een instelling aanpassen?"

Nee. Er circuleerden al snel tijdelijke maatregelen, zoals het uitschakelen van session.upload_progress.enabled. Die beperken alleen het risico. Een ontwikkelaar uit het PHP-kernteam heeft publiekelijk aangegeven dat PHP bijwerken de enige echte oplossing is. Hebt u zo'n tijdelijke maatregel genomen? Laat die dan staan totdat u de update hebt geïnstalleerd, maar stel de update niet uit.

Zo werkt u Node.js bij

Geïnstalleerd via

Zo werkt u bij

nvm

nvm install 24 (of 22 / 26), daarna nvm alias default 24

Officieel installatieprogramma

Download de nieuwste versie binnen uw reeks via nodejs.org/en/download

Docker

Leg de gepatchte tag vast, bijvoorbeeld FROM node:24.22.1. Voer daarna docker pull uit en bouw opnieuw. Bij een niet-vastgezette tag zoals node:24 kunt u de oude versie blijven gebruiken als u bouwt met een image uit de cache.

Homebrew

brew update && brew upgrade node (of node@24 / node@22). Homebrew kan een paar uur achterlopen. Gebruik nvm of het installatieprogramma als u niet kunt wachten.

Linux-pakketbeheerder

Werk zoals gebruikelijk bij via de repository van uw distributie of NodeSource.

Hostingplatform (Vercel, Netlify, Heroku, Render, enz.)

Controleer de runtime-instellingen en aankondigingen van uw platform. De meeste platforms rollen gepatchte runtimes automatisch uit, maar mogelijk moet u uw app opnieuw deployen.

Herstart uw app na de update (of deploy opnieuw) en controleer de versie met node -v.

Gebruikt u een versie die niet meer wordt ondersteund?

Alleen ondersteunde versies krijgen officiële patches:

  • PHP: 8.2, 8.3, 8.4 en 8.5. Voor PHP 8.1 en ouder komt geen officiële update. Sommige Linux-distributies en leveranciers van betaalde langetermijnondersteuning passen patches ook toe op oudere versies. Vraag dit na bij uw leverancier. Anders is overstappen naar een ondersteunde reeks de veilige keuze. Let op: PHP 8.2 krijgt nog maar tot en met 31 december 2026 beveiligingsupdates.

  • Node.js: 22.x, 24.x en 26.x. Reeksen zoals 25, 23 en 20 worden niet meer ondersteund en krijgen geen patch.

Kunt u niet meteen upgraden? Overweeg dan de site achter een webapplicatiefirewall te plaatsen of de toegang te beperken totdat u kunt bijwerken.

Meer informatie

Officiële beveiligingsberichten

Handige uitleg en instructies

Artikel delen
Gekopieerd!
Patrick Wunderlin

Geschreven door

Patrick Wunderlin

Oprichter van WireBoard.io. Informatica-ingenieur (EPFL), gepassioneerd door web analytics, realtime dataverwerking en het bouwen van tools die bedrijven laten groeien.

WireBoard

Volg je site in realtime

Live dashboards die jij zelf bouwt. Gratis starten. Geen creditcard, geen gedoe.