Beveiliging
PHP-kwetsbaarheid PHP2Shell: versie controleren en updaten
PHP2Shell (CVE-2026-109618): gepatcht in PHP 8.5.12, 8.4.27, 8.3.36 en 8.2.35. Zo controleert u uw PHP-versie en wat u uw host vraagt. Stand 23 oktober 2026.
- Door IT bugsolutions
- 10 min leestijd
Op 21 oktober 2026 heeft het PHP-project twee kritieke kwetsbaarheden in PHP gepatcht, samen PHP2Shell genoemd (CVE-2026-109618 en CVE-2026-109619). Ze raken in principe elke website of webshop die PHP gebruikt, ook WordPress. Het enige wat u nu moet doen: zoek uw PHP-versie op en vraag uw host te bevestigen dat de fix erin zit. Gepatcht zijn 8.5.12, 8.4.27, 8.3.36 en 8.2.35, of hoger.
- PHP2Shell = CVE-2026-109618 en CVE-2026-109619 (CVSS 4.0: 9,2). Gepatchte versies: PHP 8.5.12, 8.4.27, 8.3.36 en 8.2.35 (21 oktober 2026). PHP 8.1 en ouder krijgt van het PHP-project geen update.
- Wat u nu doet: zoek uw PHP-versie op (stappen verderop), vergelijk die met de tabel en vraag uw host schriftelijk te bevestigen dat de fix erin zit. Op gedeelde hosting is het versienummer alleen geen bewijs.
- Misbruikpogingen zijn bevestigd, grootschalig succesvol misbruik niet.
- Alleen updaten lost het volledig op. Tijdelijke instellingen dekken niet alles.
Gepubliceerd op 23 oktober 2026. De situatie verandert snel. Controleer daarom de bronnen onderaan dit artikel: die zijn leidend, niet deze samenvatting.
Wat is PHP2Shell?
PHP2Shell is de naam voor twee kritieke fouten in PHP zelf (CVE-2026-109618 en CVE-2026-109619), niet in WordPress of een plugin. Een aanvaller kan er, zonder in te loggen, mogelijk code op uw server laten draaien. Beide fouten kregen van het PHP-project een CVSS-score (versie 4.0) van 9,2 op 10.
In gewone taal gaat het om geheugenbeheer: PHP gaat in bepaalde situaties verkeerd om met geheugen tijdens het verwerken van een verzoek. Het gevolg is dat code kan draaien met de rechten van het webproces en dat geheugeninhoud zoals wachtwoorden of tokens kan lekken. Onderzoekers van Calif (met OpenAI) en Wiz vonden ze met AI-modellen. In principe valt elke PHP-installatie die webverzoeken afhandelt in scope, ook PHP-FPM en Apache mod_php.
Welke PHP-versie is gepatcht tegen PHP2Shell?
Gepatcht is de aangegeven versie van uw tak, of nieuwer. Deze tabel geeft de stand van het PHP-project op 21 oktober 2026. CVE-2026-115560 (zie verderop) wordt hiermee niet verholpen.
| PHP-versie | Status | Wat u doet |
|---|---|---|
| 8.5 | Gepatcht in 8.5.12 | Update naar 8.5.12 of hoger. |
| 8.4 | Gepatcht in 8.4.27 | Update naar 8.4.27 of hoger. |
| 8.3 | Gepatcht in 8.3.36 | Update naar 8.3.36 of hoger. |
| 8.2 | Gepatcht in 8.2.35. Beveiligingsupdates lopen tot 31 december 2026. | Update nu en plan een overstap naar 8.3 of nieuwer. |
| 8.1 en ouder | Geen update van het PHP-project. Alleen broncode-backports voor 7.4, 8.0 en 8.1 (zelf bouwen). Distributies of LTS-leveranciers kunnen eigen fixes leveren. Voor 7.3 en ouder is er geen fix. | Vraag uw host naar een eigen fix of migreer naar een ondersteunde versie. |
Bron: PHP-project, advisory en releasenotities, 21 oktober 2026.
Hoe controleert u uw PHP-versie?
U ziet de PHP-versie in uw hostingpaneel of in WordPress. De menunamen verschillen per hoster en per WordPress-versie. Vindt u het niet, vraag het dan gewoon aan uw host.
- cPanel: open “Select PHP Version” of “MultiPHP Manager”. Daar staat de gekozen versie per domein.
- Plesk: ga naar Websites & Domains en open de PHP-instellingen van uw domein.
- WordPress: ga naar Gereedschap, Websitegezondheid, tab Info, onderdeel Server. Daar staat de PHP-versie.
Hosters patchen soms de build zonder het versienummer te wijzigen, of zetten maatregelen op serverniveau. Hostinger noemt als voorbeeld een build-datum van 21 oktober 2026 of later in “PHP Info”. De zekerste route is uw host vragen: “Draait mijn site op een build met de fix, voor mijn gekozen PHP-versie?”
Maakt u zelf een tijdelijk phpinfo()-bestand, verwijder het dan direct weer, want het toont gevoelige informatie. php -v op de server toont de versie voor de opdrachtregel, niet per se die van uw website.
Hoe werkt u PHP bij op uw hosting?
Op de meeste hostingpanelen kiest u de PHP-versie zelf. Dit is algemene praktijk, geen bronvermelding, en de menunamen verschillen per hoster. Maak eerst een back-up en test thema en plugins.
- Open het paneel: in cPanel “Select PHP Version” of “MultiPHP Manager”, in Plesk de PHP-instellingen van uw domein.
- Kies een versie die uw host als gepatcht bevestigt, bij voorkeur 8.3 of nieuwer.
- Laad de site, het inlogscherm en (bij een webshop) het afrekenen en controleer of alles werkt.
- Vraag uw host te bevestigen dat de PHP-workers na de update zijn herstart. Het PHP-project noemt die herstart als onderdeel van de oplossing.
Een versie kiezen in het paneel helpt alleen als de host die build zelf heeft bijgewerkt. Werkt de site na de overstap niet meer (bijvoorbeeld HTTP 500), zet dan de vorige versie terug en lees wat u doet als uw site na een update kapot is of bekijk de aanpak bij een site die niet bereikbaar is.
Komt u er niet uit? Stuur ons via het contactformulier de naam van uw host en uw PHP-versie. De diagnose is gratis.
Wordt PHP2Shell al misbruikt?
Pogingen zijn bevestigd, grootschalig succesvol misbruik niet. Houd beide feiten naast elkaar. De bronnen verschillen per partij (stand 23 oktober 2026):
- CISA zag op 21 oktober nog geen misbruik. Volgens watchTowr en Tenable stonden de kwetsbaarheden op 22 oktober niet in de KEV-lijst, de lijst met kwetsbaarheden waarvan misbruik is vastgesteld.
- watchTowr meldt pogingen sinds 21 oktober in eigen honeypots (lokvallen), zonder te zeggen wie erachter zit.
- Rapid7 meldt pogingen, maar zag zelf geen misbruik. Openbare proof-of-concepts (voorbeeldaanvallen) werken alleen bij specifieke combinaties van besturingssysteem, PHP-versie en webserver.
- NCSC-NL onderzocht op 22 oktober eerste signalen van succesvol misbruik. Op 23 oktober beoordeelde het misbruik als complex en grootschalig misbruik als minder waarschijnlijk dan eerst gedacht, met één onbevestigde melding uit het buitenland.
- BSI meldt geen bevestigd grootschalig succesvol misbruik, wel onbevestigde meldingen over bestaande exploits.
Voor u betekent dit: geen paniek, maar ook geen reden om te wachten. De fix is beschikbaar en updaten blijft het advies, ook zonder tekenen van misbruik.
Zijn andere systemen dan WordPress getroffen?
Mogelijk wel. De fouten zitten in PHP zelf, niet in een CMS of plugin. Elke site die op PHP draait kan er dus mee te maken hebben, of dat nu WordPress, Joomla, Drupal, Magento of maatwerk is. Wat telt, is de PHP-versie en build van uw hosting. Een update van het CMS of de plugins lost het niet op.
Wat doet u als uw host nog geen gepatchte versie aanbiedt?
Vraag de host schriftelijk om bevestiging en een termijn, en plan intussen een alternatief. NCSC-NL en Cybermalveillance.gouv.fr adviseren allebei contact met de hostingprovider op te nemen als u uw IT niet zelf beheert.
- Vraag uw host: is er een build met de fix voor uw gekozen PHP-versie, en wanneer?
- Kies, als het kan, een nog ondersteunde tak (8.3 of 8.4). Test eerst uw thema en plugins.
- Overweeg een overstap naar een hoster die wel patcht, of laat ons dat voor u regelen.
- Draait u PHP 8.1 of ouder, dan is dat verouderd. Plan een migratie. Zie ook de risico’s van verouderde software.
Cybermalveillance.gouv.fr (Frans) adviseert sites met betalingen of klantaccounts als eerste aan te pakken.
Technische opmerking, meestal werk voor uw host: bij tijdelijke maatregelen noemt het PHP-project onder meer session.upload_progress.enabled=0, een lage post_max_size (de maximale grootte van een verzoek) en geen geheugenlimiet (memory_limit=-1), zo ingesteld dat apps dit niet kunnen wijzigen. Ze horen in php.ini of de FPM-pool, gevolgd door een herstart van de PHP-workers. Deze instellingen verkleinen alleen bepaalde aanvalspaden en dekken niet alles.
CISA adviseert systemen offline te halen als ze niet gepatcht kunnen worden of PHP 8.1 of ouder draaien. NCSC-NL noemt offline houden tot het is gepatcht. CERT-EU adviseert internetgerichte applicaties te isoleren tot de fix is toegepast en gecontroleerd. CERT-FR adviseert te isoleren en te migreren naar een ondersteunde versie. Het BSI noemt offline niet, maar adviseert direct te patchen. Het blijft een afweging per site; vraag bij twijfel advies.
Hoe herkent u een mogelijk gehackte site?
Hard bewijs is lastig, want er zijn nog nauwelijks gepubliceerde indicatoren. Rapid7 benadrukt dat het ontbreken van logs niets bewijst. De bronnen noemen:
- PHP-processen die een shell starten of tools downloaden (CISA).
- Veel grote uploadverzoeken gevolgd door geheugenfouten of herhaalde HTTP 500-fouten, abnormaal grote
PHPSESSID-cookies en onverklaarbare herstarts van PHP-workers (Wiz).
Algemene tekenen van een hack, niet specifiek voor PHP2Shell: onbekende of recent gewijzigde PHP-bestanden (vooral in uploads, tmp of cache), onbekende beheerders, onverwachte redirects of spampagina’s, onbekende geplande taken en een plotselinge piek in CPU of verkeer. Vermoedt u iets? Bewaar dan eerst een kopie. Laat daarna uw host en een specialist meekijken. Wijzig na het schoonmaken wachtwoorden en sleutels, want geheugeninhoud kan gelekt zijn. Wilt u dat wij kijken? Neem contact op voor een gratis diagnose. Lees wat u het eerste uur doet bij een gehackte website of bekijk onze aanpak bij een gehackte website.
Is er nog een derde kwetsbaarheid (CVE-2026-115560)?
Ja, maar die is aparter en volgens het PHP-project onwaarschijnlijk. Op 23 oktober publiceerde PHP een informatieve notitie. Misbruik is alleen denkbaar als een applicatie session.serialize_handler op php_binary of php_serialize zet, vóór session_start() met ini_set() terugschakelt naar php en upload-progress aan staat.
Deze fout is niet verholpen door 8.5.12 en de andere versies. Het volledige advisory volgt bij de volgende reguliere release. Mitigatie: session.upload_progress.enabled=0. Sommige bronnen noemen het een “derde RCE” (code op afstand uitvoeren). Lees dat niet als even ernstig als de eerste twee.
Wat kunnen wij voor u doen?
U kunt de stappen hierboven zelf volgen. Komt u er niet uit, of wilt u zeker weten dat het goed zit, dan nemen wij het op afstand over:
- Wij zoeken uit welke PHP-versie uw site echt draait en of uw host de fix heeft doorgevoerd.
- Wij zetten uw site over op een gepatchte PHP-versie en testen daarna of pagina’s, plugins en de afrekenpagina nog werken. Gaat er door de update iets mis, dan herstellen wij dat.
- Wij controleren uw site op sporen van een eerdere inbraak en ruimen die op.
- Wij maken vóór elke wijziging een back-up, zodat u altijd terug kunt naar de huidige staat.
De diagnose is gratis: daarmee stellen wij vast wat er nodig is en wat het kost. Daarna krijgt u een vaste prijs, vóór wij beginnen. Herstelwerk start vanaf €295 excl. btw. Een gehackte site opruimen of een webshop herstellen start vanaf €450 excl. btw. Lossen wij het afgesproken probleem niet op, dan krijgt u het betaalde bedrag voor die klus volledig terug.
Wilt u dat dit soort updates voortaan vanzelf gebeuren? Met onze onderhoudsplannen, zoals Essential (€99 excl. btw per maand), houden wij uw site bij. Vermoedt u al een besmetting, begin dan bij de hulp bij een gehackte website of neem contact op.
Bronnen
- PHP-project: advisory en releasenotities, 20 tot 23 oktober 2026
- CISA: Critical Vulnerabilities in PHP Require Immediate Patching (Engels)
- CERT-EU: Security Advisory 2026-018 (Engels)
- NCSC-NL: kwetsbaarheden in PHP, patches beschikbaar
- BSI: PHP, kritische Schwachstellen (Duits)
- CERT-FR: CERTFR-2026-ALE-014 (Frans)
- Cybermalveillance.gouv.fr: alerte failles critiques dans PHP (Frans)
- Wiz Research: PHP2Shell (Engels)
- watchTowr: PHP2Shell FAQ (Engels)
- Rapid7: CVE-2026-109618 and CVE-2026-109619 (Engels)
- Hostinger: Protecting PHP2Shell (Engels; verklaring van een hoster, niet onafhankelijk geverifieerd)
Veelgestelde vragen
Ook bekeken