PHP2Shell: två kritiska PHP-brister, ett embargo som läckte, och vad som faktiskt är känt om utnyttjande
PHP levererade nödåtgärder för två kritiska sårbarheter för fjärrkörning av kod, CVE-2026-109618 och CVE-2026-109619, kallade PHP2Shell.
PHP levererade nödåtgärder för två kritiska sårbarheter för fjärrkörning av kod, CVE-2026-109618 och CVE-2026-109619, kallade PHP2Shell. Utgåvan lanserades den 21 oktober 2026. Avsnittet förklarar de två minnesfelen med enkla ord, varför en ledtråd från en revision 2024 väntade på en fix, hur embargot läckte ut och vilka källor som säger vad om exploatering. Det täcker också GitLabs kritiska patchrelease samma dag och en bötesorder på 25 miljarder dollar mot Meta i New Mexico.
Läs den skrivna upplagan (engelska) ↗
Vad den här videon täcker
- Båda bristerna är klassade som 9.2 på CVSS v4.0 av PHP-teamet. Fixade utgåvor är PHP 8.2.35, 8.3.36, 8.4.27 och 8.5.12; PHP 7.4, 8.0 och 8.1 fick endast källkodsfixar. PHP säger att uppdatering är den enda fullständiga lösningen.
- Den första bristen kommer från att PHP lämnar en begäran halvfärdig när minnet tar slut vid fel tidpunkt. Den andra kommer från en kvarvarande pekare till en begärans minne som en senare begäran i samma worker kan använda. På Apache med mod_php körs den första vägen före applikationskoden.
- En PHP-kärnutvecklare hittade de första tecknen på minnesproblemet under en revision 2024. PHP Foundation säger att konkurrerande fixar hade kompromisser och att ett konsensusbaserat säkerhetsteam kämpade med att välja, vilket de kallar ett strukturellt misslyckande.
- Stiftelsen säger att CVE-ID:n läckte den 20 oktober, Calif publicerade av misstag en proof-of-concept-video, och Chainguard publicerade byggda bilder med fixen mer än sex timmar före releasen. Chainguards VD säger att människor redan drabbades och att han hittade buggarna oberoende.
- Källor är oense om utnyttjandet. Amazon loggade ett försök den 17 oktober och sa senare att PHP2Shell utnyttjades brett. watchTowr rapporterade utnyttjande i naturen. CISA hade inte observerat utnyttjande vid publicering, och PHP-teamet hittade ingen fungerande exploit vid release. Många offentliga proof-of-concept-skript rapporteras inte fungera.
- Kontrollera alla platser där PHP körs, inklusive kopior inuti annan programvara, uppdatera, starta om workers och granska loggar tillbaka till den 17 oktober.
Frågor och svar
Vad är de två PHP2Shell-sårbarheterna?
PHP2Shell namnger två kritiska PHP-brister, CVE-2026-109618 och CVE-2026-109619, båda klassade som 9.2 av PHP-teamet. Den första lämnar en begäran halvfärdig när PHP tar slut på minne vid fel tidpunkt, och städning litar då på den. Den andra lämnar en pekare till ett minne från en begäran som en senare begäran i samma worker kan använda. Båda kan leda till kodexekvering utan inloggning.
Vilka PHP-versioner har en fix för PHP2Shell, och hur är det med versioner som inte stöds?
PHP-projektet släppte fixar i 8.2.35, 8.3.36, 8.4.27 och 8.5.12 den 21 oktober. För 7.4, 8.0 och 8.1 publicerade de endast källkodsfixar, och BleepingComputer rapporterar att distributioner och leverantörer av långtidssupport kan tillhandahålla bakåtporterade fixar. PHP säger att det inte finns någon fullständig tillfällig lösning, så att uppdatera eller be en leverantör om ett patchat paket är det enda säkra valet.
Varför tog det till oktober 2026 att fixa en känd PHP-minnesbugg?
PHP Foundation säger att en kärnutvecklare hittade de första tecknen på minnesproblemet under en säkerhetsrevision 2024, men ingen exploit-väg var känd och varje kandidatfix hade kompromisser såsom kompatibilitetsbrott. Säkerhetsteamet beslutar genom konsensus och kämpade med att välja, vilket Stiftelsen kallar ett strukturellt misslyckande orsakat av dess beslutsprocess och brist på resurser.
Utnyttjas PHP2Shell, och hur lätt är det att utnyttja?
Källor är oense. Amazon loggade ett utnyttjandeförsök den 17 oktober och sa senare att PHP2Shell utnyttjades brett, och watchTowr rapporterade utnyttjande i naturen. CISA hade inte observerat utnyttjande vid publicering, och PHP-teamet såg ingen fungerande exploit vid release. watchTowr säger att de flesta offentliga exploit-skript kraschar eller gör ingenting, och VulnCheck fann att kodexekvering endast fungerar i vissa installationer.
Vad var The Daily Diffs dom över PHP2Shell?
The Daily Diffs dom var SHIP IT: skicka PHP-uppdateringen ikväll, eftersom den nya versionen är den enda fullständiga fixen. CISA säger att man ska inventera varje system som kör PHP, inklusive kopior inuti annan programvara, applicera patchen och ta PHP-system offline om de inte kan uppdateras. Amazon råder att granska loggar tillbaka till den 17 oktober, då de såg det första försöket.
Översatt transkription
Översatt från den ursprungliga engelska berättelsen. Tillgängligt ljud och undertexter styrs av YouTube.
Vem försökte PHP2Shell fyra dagar för tidigt?
0:00 Ett säkerhetsembargo ska hålla en bugg tyst tills patchen skickas. Amazon loggade ett försök mot PHP:s kritiska bugg fyra dagar för tidigt. I den här videon, vem hittade den? Hur läckte embargot? Och hur illa är det, egentligen? Och företaget som anklagades för läckan har ett försvar jag inte förväntade mig. Jag kommer till det. Det är torsdag, den tjugoandra oktober, och detta är The Daily Diff.
0:21 PHP är ett skriptspråk som bygger webbsidor på servern precis innan de når dig. Det är över trettio år gammalt och, enligt en uppskattning, driver omkring sjuttio procent av webbplatserna, inklusive WordPress och programvaran bakom Wikipedia. Utvecklare älskar att håna det, vanligtvis från en sida som PHP serverar dem. Dess underhåll är en ideell organisation med omkring tretton ingenjörer.
Vad är de två PHP2Shell-buggarna?
0:41 På onsdagen skickade PHP nödkorrigeringar för två kritiska brister som lät en främling köra kod på en server utan inloggning. Tillsammans kallas de PHP2Shell, och de sträcker sig tillbaka till PHP fem punkt fyra. Här är den första buggen med enkla ord. PHP ger varje begäran en minnesbudget. Om en begäran når den gränsen vid exakt fel tidpunkt, PHP avbryter i all hast och lämnar begäran halvfärdig. Sedan litar städsteget på det halvfärdiga.
1:07 Den andra buggen är en rest. Ett fatalt fel kan lämna en anteckning som pekar på minne som tillhörde den förra begäran. Samma worker hanterar nästa begäran och följer anteckningen. Då bor någon annan på den adressen. På Apache med mod PHP sker skadan innan din egen kod körs, så din inloggningssida får aldrig en röst. Wiz säger att även ett hello world-skript är exponerat. Fixen tar bort PHP:s nödutgång för att minnet tar slut.
1:32 Istället för att avbryta mitt i begäran stoppar PHP nu artigt vid nästa säkra punkt. Det konstiga är hur gammal den första ledtråden är.
Varför väntade en känd bugg i två år?
1:39 2024 ledde en extern säkerhetsrevision en PHP-kärnutvecklare till de första tecknen på minnesproblemet. Ingen exploit var känd, och varje fix bröt något. Ett team som beslutar genom konsensus kunde inte välja, så buggen väntade. Sedan i augusti anlände upphittare inom dagar.
Vem hittade PHP2Shell, och hur?
1:56 Calif-forskaren Ryan Austin hittade den den första augusti, arbetande genom OpenAI:s Patch the Planet-program. OpenAI rapporterade samma grundorsak oberoende. Wiz hittade varianter några veckor senare med Gemini- och GPT-modeller. Austin säger att han använde modeller som vem som helst kan få, plus en teori om var PHP:s gamla buggar gömmer sig. OpenAI säger att banbrytande AI var nyckeln. Buggen hade legat dold i mer än ett decennium. Släppet var planerat till torsdag.
Hur läckte PHP2Shell-embargot?
2:21 På tisdagen började de två CVE-numren cirkulera online, med en felaktig släpptid och ett felaktigt betyg på tio. PHP flyttade fram släppet en dag. Den kvällen publicerade Calif av misstag en video av sin proof of concept som fungerade, och kopior överlevde raderingen. På onsdagsmorgonen, mer än sex timmar före släppet, publicerade Chainguard byggda bilder som innehöll fixen. PHP säger att vilken angripare som helst kunde studera den fixen medan alla andra väntade.
2:46 En patch är också en diff, och angripare läser diffar.
Utnyttjas PHP2Shell, och av vem?
2:50 Så vem drabbas egentligen? Amazons honeypot loggade ett försök den sjuttonde oktober och sa senare att PHP2Shell utnyttjas brett. watchTowr rapporterar utnyttjande i naturen. Cisa sa att de inte hade observerat något när de publicerade, och PHP:s team såg ingen fungerande exploit vid release. Cloudflares VD sa att de såg tusentals försök under de tio timmarna före meddelandet, och miljontals på torsdagsmorgonen.
3:13 Amazon är försiktig på en punkt. De vet inte om deras tidigaste försök skulle ha fungerat på ett verkligt system. Ett försök är bara en knackning på dörren. Så hur illa är det, egentligen? watchTowr säger att de offentliga exploits som flyger runt oftast kraschar eller gör ingenting. VulnCheck säger att kodexekvering fungerar i vissa installationer, och ingen av de offentliga slår minnesrandomisering på vanliga x86-servrar. Forskaren Elias Taylor säger att det inte alls är lika lätt som Log4Shell.
3:40 Alla säger fortfarande patcha. Regeringar väntade inte på domen.
Vad stängde regeringarna ner?
3:44 NSA sa till organisationer som inte kunde patcha att ta PHP-system offline, och Storbritanniens National Cyber Security Centre gav liknande råd. Nederländska webbplatser, inklusive den nationella digitala identitetstjänsten, släcktes ner, tillsammans med en poliswebbplats i Paris. Wikimedia tog ner flera system som en försiktighetsåtgärd. Palo Alto Networks räknade mer än tjugotvå miljoner exponerade instanser. Och en australisk professor gjorde den skarpaste poängen. Webbplatserna att oroa sig för är de som inte är nere idag.
Vilka PHP-versioner får en fix?
4:11 Fixar finns för PHP åtta punkt två till åtta punkt fem. För sju punkt fyra, åtta punkt noll och åtta punkt ett, publicerade PHP endast källkodsfixar. Äldre versioner får inget från PHP-projektet, så fråga din distribution. Tillfälliga lösningar minskar oddsen, men PHP säger att uppdatering är den enda fullständiga fixen. Det är samma lärdom som gårdagens eMudhra-avsnitt,
Vad gör du åt PHP2Shell ikväll?
4:32 eftersom en fix som existerar inte är samma sak som att den körande processen har den. Hitta varje PHP i din stack, även kopiorna som gömmer sig inuti annan programvara. Uppdatera, starta om workers, och kontrollera loggar tillbaka till sjuttonde oktober. Samma dag skickade GitLab ut en kritisk patchuppdatering,
Vad mer släppte en kritisk RCE-patch idag?
4:47 nitton punkt fem punkt ett. En heltalsöversvämning i dess kompilator för reguljära uttryck låter en oautentiserad användare köra kod på servern, och den får tio av tio poäng. GitLab.com är redan patchad. Självhanterade installationer behöver uppdateringen.
Varför beordrades Meta att betala 25 miljarder dollar?
5:01 Under tiden i New Mexico beordrade en domare Meta att betala tjugofem miljarder dollar i böter för Cambridge Analytica. Juryn räknade mer än fyrtiotre miljoner överträdelser till upp till fem tusen dollar vardera, vilket uppgick till omkring tvåhundratjugo miljarder innan domaren sänkte det. Meta säger att de kommer att vinna i överklagan. Nu försvaret jag lovade.
Vad är Chainguards försvar för den tidiga fixen?
5:19 Chainguards VD berättade för The Register att han hittade samma buggar själv en fredagskväll, efter att ha fått veta att något var på gång i PHP, med en grundläggande uppmaning att hitta dåliga sårbarheter. Han säger att han skickade ut tidigt eftersom människor redan drabbades. Om du hellre vill läsa detta än höra mig säga det, landar diffen i din inkorg varje morgon, gratis på the daily diff dot dev, länk nedan. Så dagens dom är SHIP IT.
Vad får SHIP IT-stämpeln?
5:39 Skicka PHP-uppdateringen ikväll, eftersom det nya versionsnumret är den enda fullständiga fixen. Och det är diffen för idag. Jag är Niko från Axrisi. Merge ansvarsfullt.
Källor
- Today's PHP Security Release, and How We're Strengthening PHP SecurityThe PHP Foundation
- RCE via OOM corruption (GHSA-w8hw-w9fx-j79w)PHP security advisory
- RCE via stale global state (GHSA-6wmf-4rv5-p3rp)PHP security advisory
- Upcoming Critical PHP Security Releasephp.net
- php2shellCalif
- PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the InternetWiz Research
- Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPotAWS Security Blog
- Critical Vulnerabilities in PHP Require Immediate PatchingCISA
- Flaw in PHP computer language leads to shutdown of websites around worldThe Guardian
- What is PHP, and how bad is the computer language flaw causing website shutdowns globally?The Guardian
- PHP2Shell Exploitation Started Days Before PatchesSecurityWeek
- PHP2Shell: Responding to CVE-2026-109618 and CVE-2026-109619Tanium
- There isn't an easy exploit for this PHP vulnerabilityElias Taylor
- PHP blames supply chain security biz Chainguard for putting entire web at riskThe Register
- PHP2Shell: 22M exposed servers at risk as emergency patches releasedTechTarget
- PHP ships emergency patches for critical PHP2Shell flawsBleepingComputer
- 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
- Meta ordered to pay $25 billion penalty in New Mexico Cambridge Analytica caseCNBC
- Tell HN: 2x PHP RCE CVEs with CVSS 10.0 IncomingHacker News



