PHP heeft PHP2Shell noodpatch-updates gepubliceerd voor twee kritieke kwetsbaarheden die aanvallers zonder account in staat kunnen stellen om code uit te voeren op een webserver. Belangrijk: de problemen zitten niet in je applicatie, maar in de PHP-runtime zelf. Daardoor kan een server al kwetsbaar zijn met een ogenschijnlijk simpele pagina, zolang je een getroffen PHP-versie draait.
De lekken hebben de identifiers CVE-2026-109618 en CVE-2026-109619 en worden beide beoordeeld met een 9.2 op de CVSS v4.0-schaal. PHP benadrukt dat alleen volledig updaten de server echt beschermt.
Wat is er precies mis met PHP2Shell?
PHP2Shell is de gezamenlijke naam voor twee fouten in de PHP-runtime. Dat betekent dat het risico niet verdwijnt door applicaties te updaten (zoals WordPress of Laravel). Zelfs als je eigen code “veilig” is, kan een aanvaller misbruik maken van het gedrag binnen PHP zelf.
Een extra zorgpunt is dat het exploitpad sterk kan verschillen per manier waarop PHP is geïntegreerd met de webserver. Vooral servers met Apache’s mod_php vormen volgens de melding een verhoogd risico: daar kan de aanval worden geactiveerd voordat applicatiecode überhaupt begint.
Welke versies en updates moet je installeren?
PHP heeft noodupdates uitgebracht voor meerdere ondersteunde branches. Volgens de publicatie zijn de fixes opgenomen in:
- PHP 8.5.12
- PHP 8.4.27
- PHP 8.3.36
- PHP 8.2.35
Voor oudere branches geldt: PHP 8.1 en lager krijgen geen updates meer via het PHP-project. Voor wie uit bron bouwt of afhankelijk is van maatwerk, zijn er source backports gepubliceerd voor PHP 7.4, 8.0 en 8.1 om het patchen eenvoudiger te maken.
Heb je een Linux-distributie of long-term-support leverancier? Dan kan de versie-string er “oud” uitzien terwijl de patch wel is verwerkt. Controleer daarom bij voorkeur het changelog en zoek daarbij expliciet naar de CVE’s, niet alleen naar de versie.
Is je server kwetsbaar, ook als je applicatie niet is gewijzigd?
Ja. Omdat de fout in de runtime zit, geldt het risico voor elke PHP-installatie die webverzoeken verwerkt. Dat kan onder meer via PHP-FPM, Apache mod_php, php-cgi, FrankenPHP en LiteSpeed.
Het rapport benadrukt dat zelfs een simpele “Hello World”-pagina op een getroffen PHP-versie kan worden aangevallen. Met andere woorden: dit is niet een issue dat je oplost door alleen je CMS, framework of plugins te upgraden—je moet de PHP-runtime onder je webstack patchen.
Welke gevolgen kan een aanvaller hebben?
De kwetsbaarheden zijn ontworpen om remote code execution (RCE) mogelijk te maken voor een aanvaller zonder account. Daarnaast kan één van de varianten leiden tot het lezen van geheugen uit het PHP-werkproces. In dat geheugen kunnen gegevens zitten die niet voor de aanvaller bedoeld zijn, zoals wachtwoorden, authenticatietokens, API-sleutels en certificaten van andere requests.
De onderzoekers tonen aan dat deze geheugenlezing ook kan gebeuren tegen toepassingen die ze niet zelf beheerden. Het probleem is dus niet beperkt tot specifieke applicatielogica.
Zo pak je het aan: update én herstart
PHP adviseert om eerst de PHP-runtime te updaten die webverzoeken verwerkt. Daarna is een herstart van relevante services nodig, zoals Apache, PHP-FPM en eventuele langlopende PHP-workers.
Let op: het upgraden van een applicatie (bijvoorbeeld een WordPress- of Laravel-update) vervangt niet automatisch de PHP-runtime in je omgeving. Als je PHP draait via een serverpakket, hostinstelling of container image, moet je daar de patch toepassen.
Maak ook je geheugeninstellingen opnieuw scherp
Na het patchen is het verstandig om je memory_limit en post_max_size te herzien. De fix introduceert een nieuwe “hard” memory limiet. Als je applicatie daar tegenaan loopt, kan dat leiden tot het beëindigen van het proces en andere onverwachte foutafhandeling.
Beoordeel dus hoeveel geheugen en uploadgrootte je applicatie echt nodig heeft, zodat je na het patchen niet in een nieuwe storingscyclus belandt.
Wat als je nog niet kunt updaten? (Mitigaties zijn geen echte oplossing)
Volgens PHP is er geen volledige mitigatie die het probleem veilig oplost zonder updaten. Wel kunnen configuratiewijzigingen de blootstelling op specifieke aanvalspaden verminderen. Gebruik dit alleen als tijdelijke noodmaatregel terwijl je de PHP2Shell noodpatch doorvoert.
Tijdelijke maatregelen voor CVE-2026-109618
- Stel memory_limit=-1 in, zodat applicaties deze instelling niet kunnen overschrijven.
- Houd post_max_size laag.
- Leg extra limieten op verzoekgrootte via webserver of reverse proxy.
PHP waarschuwt ook om RLIMIT_AS of RLIMIT_DATA niet te gebruiken als alternatief: die kunnen volgens de melding dezelfde kwetsbare route activeren.
Tijdelijke maatregelen voor CVE-2026-109619
- Zet session.upload_progress.enabled=0.
- Restart elke worker na het wijzigen van deze instelling.
- Op PHP 8.5: daarnaast fatal_error_backtraces=0.
PHP stelt nadrukkelijk dat deze maatregel alleen specifieke paden blokkeert en geen complete bescherming geeft tegen andere varianten van de aanval.
Wordt er al misbruik gemaakt?
Voor de patch werd verstoring verwacht: Cloudflare meldde dat er vroege pogingen opduiken en dat firewall-mitigaties werden aangepast zodra er nieuwe varianten zichtbaar werden. Tegelijkertijd is er in de melding geen bevestigde succesvolle inbraak gerapporteerd in de bronnen die in het artikel zijn besproken.
Daarnaast meldde watchTowr dat het in de periode rond publicatie actieve exploitpogingen observeerde voor beide CVE’s. Er was op dat moment nog steeds geen bron die een concrete, gespecificeerde server als “bewezen gehackt” aanmerkte.
Waarom deze update extra urgent is
Het meest alarmerende aspect van de PHP2Shell noodpatch is de combinatie van factoren: de kwetsbaarheden zijn kritiek, ze zitten in de runtime en ze kunnen RCE mogelijk maken via een pad dat soms werkt vóór je applicatiecode wordt geraakt. In de praktijk betekent dit dat “we draaien toch up-to-date software bovenop PHP” niet genoeg kan zijn.
Daarbij komt dat er in de melding ook aandacht is voor het uit het PHP-werkgeheugen kunnen halen van gevoelige informatie. Zelfs als RCE niet direct lukt, kan een aanvaller mogelijk gegevens verzamelen.
Gerelateerde aandachtspunten: AI-agenten, supply chain en eerdere exploit-events
Als je organisatie al werkt aan beveiligingsmaatregelen rondom applicaties en automatisering, is het nuttig om dit type incident in dezelfde lijn te zien als andere supply chain en exploit-casuïstiek. Zo kun je parallel kijken naar eerdere casussen over compromisroutes en snelle respons:
- PHP2Shell: massale misbruikkans bij gelekte PHP-lekken
- PHP2Shell RCE: noodpatch voor kritieke PHP-lekken
- Rogue AI-agenten: zo reageer je snel en goed
Conclusie: patch PHP2Shell direct en herstart je omgeving
De kernboodschap is helder: installeer de PHP2Shell noodpatch voor je getroffen PHP-versies en herstart de webserver- en PHP-processen die webverzoeken afhandelen. Omdat de kwetsbaarheden in de PHP-runtime zitten, blijft het risico bestaan zolang de runtime niet is bijgewerkt.
Kan je nog niet direct updaten? Gebruik dan de tijdelijke configuraties alleen als overbrugging, maar plan meteen het daadwerkelijke patchmoment. Zo voorkom je dat aanvallen via mod_php, PHP-FPM of andere integraties je omgeving binnenkomen.
Bron: https://thehackernews.com/2026/10/php-issues-emergency-patches-for-two.html
