+− THE DAILY DIFFdev & AI news
SHIP IT

PHP2Shell: twee kritieke PHP-fouten, een embargo dat lekte, en wat er feitelijk bekend is over exploitatie

PHP heeft noodpatches uitgebracht voor twee kritieke kwetsbaarheden voor uitvoering van externe code, CVE-2026-109618 en CVE-2026-109619, genaamd PHP2Shell.

Want to see our stories first on Google? Add us to your preferred sources — it helps us grow.

PHP heeft noodpatches uitgebracht voor twee kritieke kwetsbaarheden voor uitvoering van externe code, CVE-2026-109618 en CVE-2026-109619, genaamd PHP2Shell. De release vond plaats op 21 oktober 2026. De aflevering legt de twee geheugenfouten in gewone bewoordingen uit, waarom een aanwijzing uit een audit van 2024 wachtte op een oplossing, hoe het embargo lekte en welke bronnen wat zeggen over exploitatie. Het behandelt ook de kritieke patchrelease van GitLab op dezelfde dag en een Meta-boetebesluit van $25 miljard in New Mexico.

Lees de geschreven editie (Engels) ↗

Wat deze video behandelt

  • Beide kwetsbaarheden worden door het PHP-team beoordeeld met 9.2 op CVSS v4.0. Opgeloste releases zijn PHP 8.2.35, 8.3.36, 8.4.27 en 8.5.12; PHP 7.4, 8.0 en 8.1 ontvingen alleen bronpatches. PHP zegt dat updaten de enige complete mitigatie is.
  • De eerste kwetsbaarheid komt voort uit het feit dat PHP een verzoek half af laat wanneer het op het verkeerde moment zonder geheugen komt te zitten. De tweede komt voort uit een overgebleven pointer naar het geheugen van één verzoek die een later verzoek in dezelfde worker kan gebruiken. Op Apache met mod_php wordt het eerste pad uitgevoerd vóór de applicatiecode.
  • Een PHP-kernontwikkelaar vond de eerste tekenen van het geheugenprobleem tijdens een audit in 2024. De PHP Foundation zegt dat concurrerende fixes afwegingen hadden en een op consensus gebaseerd beveiligingsteam moeite had om te kiezen, wat zij een structurele mislukking noemt.
  • De Foundation zegt dat de CVE ID's op 20 oktober zijn gelekt, Calif per ongeluk een proof-of-concept video publiceerde, en Chainguard meer dan zes uur vóór de release gebouwde images met de fix publiceerde. De CEO van Chainguard zegt dat mensen al werden getroffen en dat hij de bugs onafhankelijk had gevonden.
  • Bronnen zijn het niet eens over exploitatie. Amazon registreerde een poging op 17 oktober en zei later dat PHP2Shell breed werd uitgebuit. watchTowr rapporteerde exploitatie in het wild. CISA had geen exploitatie waargenomen op het moment van publicatie, en het PHP-team vond geen functionele exploit bij release. Veel openbare proof-of-concept scripts werken naar verluidt niet.
  • Controleer elke plek waar PHP draait, inclusief kopieën binnen andere software, update, herstart workers en bekijk logs terug tot 17 oktober.

Vragen en antwoorden

Wat zijn de twee PHP2Shell-kwetsbaarheden?

PHP2Shell benoemt twee kritieke PHP-fouten, CVE-2026-109618 en CVE-2026-109619, beide beoordeeld met 9.2 door het PHP-team. De eerste laat een verzoek half af als PHP op het verkeerde moment zonder geheugen komt te zitten, en de opruiming vertrouwt het dan. De tweede laat een verwijzing achter naar het geheugen van één verzoek die een later verzoek in dezelfde worker kan gebruiken. Beide kunnen leiden tot code-uitvoering zonder login.

Bekijk dit deel 0:41 · PHP security advisory · PHP security advisory · The PHP Foundation

Welke PHP-versies hebben een oplossing voor PHP2Shell, en hoe zit het met niet-ondersteunde versies?

Het PHP-project bracht op 21 oktober fixes uit in 8.2.35, 8.3.36, 8.4.27 en 8.5.12. Voor 7.4, 8.0 en 8.1 publiceerde het alleen bronpatches, en BleepingComputer meldt dat distributies en long-term support-leveranciers mogelijk backported fixes leveren. PHP zegt dat er geen complete workaround is, dus updaten of een leverancier om een gepatcht pakket vragen is de enige veilige keuze.

Bekijk dit deel 4:11 · The PHP Foundation · BleepingComputer

Waarom duurde het tot oktober 2026 om een bekende PHP-geheugenbug te repareren?

De PHP Foundation zegt dat een kernontwikkelaar de eerste tekenen van het geheugenprobleem vond tijdens een beveiligingsaudit in 2024, maar er was geen exploitpad bekend en elke kandidaat-fix had afwegingen zoals compatibiliteitsbreuken. Het beveiligingsteam beslist bij consensus en had moeite met kiezen, wat de Foundation een structurele mislukking noemt, veroorzaakt door het besluitvormingsproces en het gebrek aan middelen.

Bekijk dit deel 1:37 · The PHP Foundation

Wordt PHP2Shell uitgebuit, en hoe gemakkelijk is het om uit te buiten?

Bronnen zijn het oneens. Amazon registreerde een exploitatiepoging op 17 oktober en zei later dat PHP2Shell breed werd uitgebuit, en watchTowr meldde exploitatie in het wild. CISA had geen exploitatie waargenomen op het moment van publicatie, en het PHP-team zag geen functionele exploit bij release. watchTowr zegt dat de meeste openbare exploit-scripts crashen of niets doen, en VulnCheck vond dat code-uitvoering alleen werkt in sommige configuraties.

Bekijk dit deel 2:50 · AWS Security Blog · CISA · SecurityWeek

Wat was het oordeel van The Daily Diff over PHP2Shell?

Het oordeel van The Daily Diff was SHIP IT: verzend de PHP-update vanavond, want de nieuwe versie is de enige complete oplossing. CISA zegt om elk systeem met PHP, inclusief kopieën in andere software, te inventariseren, de patch toe te passen en PHP-systemen offline te halen als ze niet kunnen worden bijgewerkt. Amazon adviseert om logs terug te kijken tot 17 oktober, toen het de eerste poging zag.

Bekijk dit deel 5:38 · CISA · AWS Security Blog

Vertaald transcript

Vertaald vanuit de originele Engelse gesproken tekst. Beschikbare audio en ondertiteling worden beheerd door YouTube.

Wie probeerde PHP2Shell vier dagen te vroeg?

0:00 Een beveiligingsembargo hoort een bug stil te houden totdat de patch wordt uitgebracht. Amazon registreerde een poging tegen de kritieke bug van PHP vier dagen te vroeg. Wie heeft het in deze video gevonden? Hoe lekte het embargo? En hoe erg is het eigenlijk? En het bedrijf dat de schuld kreeg van het lek heeft een verdediging die ik niet had verwacht. Ik kom erop terug. Het is donderdag 22 oktober, en dit is The Daily Diff.

0:21 PHP is een scripttaal die webpagina's op de server bouwt, net voordat ze jou bereiken. Het is meer dan dertig jaar oud en, volgens één schatting, draait ongeveer zeventig procent van de websites, inclusief WordPress en de software achter Wikipedia. Ontwikkelaars vinden het heerlijk om er de spot mee te drijven, meestal vanaf een pagina die PHP hen serveert. Het onderhoud is een non-profitorganisatie met ongeveer dertien ingenieurs.

Wat zijn de twee PHP2Shell-bugs?

0:41 Op woensdag heeft PHP noodpatches uitgebracht voor twee kritieke kwetsbaarheden waardoor een onbekende gebruiker zonder login code op een server kan uitvoeren. Samen worden ze PHP2Shell genoemd, en ze gaan terug tot PHP vijf punt vier. Hier is de eerste bug in gewone bewoordingen. PHP geeft elk verzoek een geheugenbudget. Als een verzoek die limiet precies op het verkeerde moment raakt, PHP stopt haastig en laat het verzoek half af. Dan vertrouwt de opschoonstap het half afgewerkte ding.

1:07 De tweede bug is een overblijfsel. Een fatale fout kan een notitie achterlaten die verwijst naar geheugen dat toebehoorde aan de laatste aanvraag. Dezelfde worker behandelt de volgende aanvraag en volgt de notitie. Tegen die tijd woont er iemand anders op dat adres. Op Apache met mod PHP gebeurt de schade voordat je eigen code wordt uitgevoerd, dus je inlogpagina krijgt nooit een stem. Wiz zegt dat zelfs een 'hello world'-script kwetsbaar is. De fix verwijdert PHP's nooduitgang voor geheugentekort.

1:32 In plaats van midden in het verzoek te stoppen, stopt PHP nu beleefd bij het volgende veilige punt. Het vreemde is hoe oud de eerste aanwijzing is.

Waarom wachtte een bekende bug twee jaar?

1:39 In 2024 leidde een externe beveiligingsaudit een PHP-kernontwikkelaar naar de eerste tekenen van het geheugenprobleem. Geen exploit was bekend, en elke fix brak iets. Een team dat beslist op basis van consensus kon niet kiezen, dus de bug wachtte. Toen, in augustus, arriveerden ontdekkers binnen enkele dagen.

Wie vond PHP2Shell, en hoe?

1:56 Calif-onderzoeker Ryan Austin vond het op 1 augustus, werkend via OpenAI's Patch the Planet-programma. OpenAI rapporteerde onafhankelijk dezelfde hoofdoorzaak. Wiz vond varianten een paar weken later met Gemini- en GPT-modellen. Austin zegt dat hij modellen gebruikte die iedereen kan krijgen, plus een theorie over waar oude PHP-bugs zich verbergen. OpenAI zegt dat geavanceerde AI de sleutel was. De bug had zich meer dan tien jaar verborgen gehouden. De release stond gepland voor donderdag.

Hoe lekte het PHP2Shell-embargo?

2:21 Op dinsdag begonnen de twee CVE-nummers online te circuleren, met een verkeerde releasetijd en een verkeerde score van tien. PHP heeft de release een dag vervroegd. Die avond publiceerde Calif per ongeluk een video van de werkende proof of concept, en kopieën overleefden de verwijdering. Op woensdagochtend, meer dan zes uur voor de release, publiceerde Chainguard gebouwde images met de fix. PHP zegt dat elke aanvaller die fix kon bestuderen terwijl iedereen wachtte.

2:46 Een patch is ook een diff, en aanvallers lezen diffs.

Wordt PHP2Shell uitgebuit, en door wie?

2:50 Dus wie wordt er eigenlijk getroffen? De honeypot van Amazon registreerde een poging op zeventien oktober en zei later dat PHP2Shell breed wordt geëxploiteerd. watchTowr meldt exploitatie in het wild. Cisa zei dat het er geen had waargenomen toen het publiceerde, en het team van PHP zag geen werkende exploit bij release. De CEO van Cloudflare zei dat het duizenden pogingen zag in de tien uur voor de aankondiging, en miljoenen tegen donderdagochtend.

3:13 Amazon is voorzichtig op één punt. Het weet niet of de vroegste pogingen zouden hebben gewerkt op een echt systeem. Een poging is slechts een klop op de deur. Dus hoe erg is het eigenlijk? watchTowr zegt dat de openbare exploits die rondvliegen meestal crashen of niets doen. VulnCheck zegt dat code-uitvoering werkt in sommige configuraties, en geen van de openbare exploits verslaat geheugenrandomisatie op standaard x86-servers. Onderzoeker Elias Taylor zegt dat het lang niet zo makkelijk is als Log4Shell.

3:40 Iedereen zegt nog steeds patchen. Overheden wachtten niet op het oordeel.

Wat hebben overheden offline gehaald?

3:44 De NSA vertelde organisaties die niet konden patchen om PHP-systemen offline te halen, en het Britse National Cyber Security Centre gaf soortgelijk advies. Nederlandse sites, inclusief de nationale digitale identiteitsdienst, gingen offline, samen met een site van de Parijse politie. Wikimedia heeft uit voorzorg verschillende systemen offline gehaald. Palo Alto Networks telde meer dan tweeëntwintig miljoen blootgestelde instanties. En een Australische professor maakte het scherpste punt. De sites waar je je zorgen over moet maken, zijn de sites die vandaag niet down zijn.

Welke PHP-versies krijgen een fix?

4:11 Er zijn fixes voor PHP 8.2 tot en met 8.5. Voor 7.4, 8.0 en 8.1, heeft PHP alleen bronpatches gepubliceerd. Oudere versies krijgen niets van het PHP-project, dus vraag het aan je distributie. Workarounds verkleinen de kansen, maar PHP zegt dat updaten de enige complete oplossing is. Het is dezelfde les als de eMudhra-aflevering van gisteren,

Wat doe je vanavond aan PHP2Shell?

4:32 want een bestaande oplossing is niet hetzelfde als dat het draaiende proces die oplossing heeft. Vind elke PHP in je stack, zelfs de kopieën die verborgen zijn in andere software. Update, herstart de workers en controleer logs terug tot zeventien oktober. Op dezelfde dag bracht GitLab een kritieke patchrelease uit,

Wat heeft er vandaag nog meer een kritieke RCE-patch gekregen?

4:47 negentien punt vijf punt één. Een integer-overflow in zijn regex-compiler stelt een niet-geauthenticeerde gebruiker in staat om code op de server uit te voeren, en scoort tien op tien. GitLab.com is al gepatcht. Zelfbeheerde installaties hebben de update nodig.

Waarom werd Meta veroordeeld tot een boete van $25 miljard?

5:01 Ondertussen in New Mexico, heeft een rechter Meta veroordeeld tot het betalen van vijfentwintig miljard dollar aan boetes voor Cambridge Analytica. De jury telde meer dan drieënveertig miljoen overtredingen van maximaal vijfduizend dollar elk, wat neerkwam op ongeveer tweehonderdtwintig miljard voordat de rechter het bedrag verlaagde. Meta zegt dat het in beroep zal winnen. Nu de verdediging die ik beloofde.

Wat is Chainguard's verdediging voor de vroege fix?

5:19 De CEO van Chainguard vertelde The Register dat hij dezelfde bugs zelf vond op een vrijdag avond, nadat hij hoorde dat er iets aankwam in PHP, met een simpele prompt om slechte kwetsbaarheden te vinden. Hij zegt dat hij vroeg heeft geleverd omdat mensen al werden getroffen. Als je dit liever leest dan hoort, landt de diff elke ochtend in je inbox, gratis op the daily diff dot dev, link hieronder. Dus het oordeel van vandaag is SHIP IT.

Wat krijgt het SHIP IT-stempel?

5:39 Verzend de PHP-update vanavond, want het nieuwe versienummer is de enige complete oplossing. En dat is de diff voor vandaag. Ik ben Niko van Axrisi. Voeg verantwoordelijk samen.

Bronnen

  1. Today's PHP Security Release, and How We're Strengthening PHP SecurityThe PHP Foundation
  2. RCE via OOM corruption (GHSA-w8hw-w9fx-j79w)PHP security advisory
  3. RCE via stale global state (GHSA-6wmf-4rv5-p3rp)PHP security advisory
  4. Upcoming Critical PHP Security Releasephp.net
  5. php2shellCalif
  6. PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the InternetWiz Research
  7. Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPotAWS Security Blog
  8. Critical Vulnerabilities in PHP Require Immediate PatchingCISA
  9. Flaw in PHP computer language leads to shutdown of websites around worldThe Guardian
  10. What is PHP, and how bad is the computer language flaw causing website shutdowns globally?The Guardian
  11. PHP2Shell Exploitation Started Days Before PatchesSecurityWeek
  12. PHP2Shell: Responding to CVE-2026-109618 and CVE-2026-109619Tanium
  13. There isn't an easy exploit for this PHP vulnerabilityElias Taylor
  14. PHP blames supply chain security biz Chainguard for putting entire web at riskThe Register
  15. PHP2Shell: 22M exposed servers at risk as emergency patches releasedTechTarget
  16. PHP ships emergency patches for critical PHP2Shell flawsBleepingComputer
  17. GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13GitLab
  18. Meta ordered to pay $25 billion penalty in New Mexico Cambridge Analytica caseCNBC
  19. Tell HN: 2x PHP RCE CVEs with CVSS 10.0 IncomingHacker News

Niko from Axrisi

Nikoloz Turazashvili · Vexrail · Axrisi

LinkedIn · dev.to · GitHub · X · Substack

Gerelateerde video's