PHP2Shell: dve kritické chyby PHP, uniknuté embargo a čo sa skutočne vie o zneužití
PHP vydalo núdzové opravy pre dve kritické chyby vzdialeného vykonávania kódu, CVE-2026-109618 a CVE-2026-109619, nazvané PHP2Shell.
PHP vydalo núdzové opravy pre dve kritické chyby vzdialeného vykonávania kódu, CVE-2026-109618 a CVE-2026-109619, nazvané PHP2Shell. Vydanie sa uskutočnilo 21. októbra 2026. Epizóda vysvetľuje dve chyby pamäte jednoduchými slovami, prečo dôkaz z auditu z roku 2024 čakal na opravu, ako uniklo embargo a ktoré zdroje hovoria čo o zneužití. Pokrýva tiež kritické vydanie opravy GitLabu v ten istý deň a pokutu 25 miliárd dolárov pre Meta v Novom Mexiku.
Prečítajte si písanú edíciu (anglicky) ↗
Čo toto video pokrýva
- Obe chyby sú tímom PHP ohodnotené na 9.2 podľa CVSS v4.0. Opravené verzie sú PHP 8.2.35, 8.3.36, 8.4.27 a 8.5.12; PHP 7.4, 8.0 a 8.1 dostali iba zdrojové záplaty. PHP tvrdí, že aktualizácia je jediné kompletné zmiernenie.
- Prvá chyba pochádza z toho, že PHP nechá požiadavku polovičnú, keď v nesprávny moment dôjde pamäť. Druhá pochádza zo zvyškového ukazovateľa na pamäť jednej požiadavky, ktorý môže použiť neskoršia požiadavka v tom istom workerovi. Na Apache s mod_php sa prvá cesta spustí pred kódom aplikácie.
- Jeden z vývojárov jadra PHP objavil prvé známky problému s pamäťou počas auditu v roku 2024. PHP Foundation tvrdí, že konkurenčné opravy mali kompromisy a konsenzuálny bezpečnostný tím sa snažil vybrať, čo nazýva štrukturálnou chybou.
- Nadácia tvrdí, že CVE ID unikli 20. októbra, Calif omylom zverejnil video s dôkazom konceptu a Chainguard zverejnil zostavené obrazy s opravou viac ako šesť hodín pred vydaním. Generálny riaditeľ Chainguard hovorí, že ľudia už boli napadnutí a že chyby objavil nezávisle.
- Zdroje sa nezhodujú na zneužití. Amazon zaznamenal pokus 17. októbra a neskôr uviedol, že PHP2Shell bol široko zneužívaný. watchTowr hlásil zneužitie v praxi. CISA pri zverejnení nepozorovala zneužitie a tím PHP nenašiel pri vydaní žiadny funkčný exploit. Mnohé verejné skripty s dôkazom konceptu údajne nefungujú.
- Skontrolujte všetky miesta, kde beží PHP, vrátane kópií vo vnútri iného softvéru, aktualizujte, reštartujte workery a prezrite si protokoly spätne k 17. októbru.
Otázky a odpovede
Aké sú dve zraniteľnosti PHP2Shell?
PHP2Shell pomenúva dve kritické chyby PHP, CVE-2026-109618 a CVE-2026-109619, obe ohodnotené tímom PHP na 9.2. Prvá ponechá požiadavku nedokončenú, keď PHP v nesprávny moment dôjde pamäť, a čistenie jej potom dôveruje. Druhá ponechá ukazovateľ na pamäť jednej požiadavky, ktorý môže použiť neskoršia požiadavka v tom istom workerovi. Obe môžu viesť k spusteniu kódu bez prihlásenia.
Ktoré verzie PHP majú opravu pre PHP2Shell a čo neudržiavané verzie?
Projekt PHP vydal opravy vo verziách 8.2.35, 8.3.36, 8.4.27 a 8.5.12 dňa 21. októbra. Pre verzie 7.4, 8.0 a 8.1 zverejnil iba zdrojové záplaty a BleepingComputer uvádza, že distribúcie a predajcovia dlhodobej podpory môžu poskytnúť spätne portované opravy. PHP uvádza, že neexistuje žiadne kompletné riešenie, takže aktualizácia alebo požiadanie predajcu o záplatovaný balík je jediná bezpečná voľba.
Prečo sa známa chyba pamäte v PHP opravovala až do októbra 2026?
PHP Foundation uvádza, že hlavný vývojár objavil prvé známky problému s pamäťou počas bezpečnostného auditu v roku 2024, ale nebola známa žiadna cesta k zneužitiu a každá kandidátska oprava mala kompromisy, ako napríklad narušenie kompatibility. Bezpečnostný tím rozhoduje konsenzom a snažil sa vybrať, čo Nadácia nazýva štrukturálnym zlyhaním spôsobeným jej rozhodovacím procesom a nedostatkom zdrojov.
Je PHP2Shell zneužívaný a ako ľahko sa dá zneužiť?
Zdroje sa nezhodujú. Amazon zaznamenal pokus o zneužitie 17. októbra a neskôr uviedol, že PHP2Shell bol široko zneužívaný, a watchTowr hlásil zneužitie v praxi. CISA pri zverejnení nepozorovala zneužitie a tím PHP pri vydaní nevidel žiadny funkčný exploit. watchTowr uvádza, že väčšina verejných exploitových skriptov spadne alebo nič neurobí, a VulnCheck zistil, že spustenie kódu funguje iba v niektorých nastaveniach.
Aký bol verdikt The Daily Diff o PHP2Shell?
Verdikt The Daily Diff bol SHIP IT: vydajte aktualizáciu PHP dnes večer, pretože nová verzia je jedinou kompletnou opravou. CISA hovorí, aby ste inventarizovali každý systém so systémom PHP, vrátane kópií vo vnútri iného softvéru, aplikovali záplatu a odpojili systémy PHP, ak ich nemožno aktualizovať. Amazon radí preveriť protokoly spätne k 17. októbru, keď zaznamenal prvý pokus.
Preložený prepis
Preložené z pôvodného anglického rozprávania. Dostupný zvuk a titulky sú kontrolované službou YouTube.
Kto sa pokúsil o PHP2Shell o štyri dni skôr?
0:00 Bezpečnostné embargo má udržať chybu v tichosti, kým sa nevydá záplata. Amazon zaznamenal pokus proti kritickej chybe PHP o štyri dni skôr. V tomto videu, kto to našiel? Ako uniklo embargo? A aké je to naozaj zlé? A spoločnosť obvinená z úniku má obranu, ktorú som nečakal. Dostanem sa k tomu. Je štvrtok, dvadsiaty druhý október, a toto je The Daily Diff.
0:21 PHP je skriptovací jazyk, ktorý vytvára webové stránky na serveri tesne predtým, ako sa k vám dostanú. Má viac ako tridsať rokov a podľa jedného odhadu poháňa asi sedemdesiat percent webových stránok, vrátane WordPressu a softvéru, ktorý stojí za Wikipédiou. Vývojári si z neho radi robia srandu, zvyčajne zo stránky, ktorú im PHP servíruje. Jeho údržba je nezisková organizácia s asi trinástimi inžiniermi. dostanú k vám. Má viac ako tridsať rokov a podľa jedného odhadu, poháňa asi sedemdesiat percent webových stránok, vrátane WordPressu a softvéru za Wikipédiou. Vývojári si z neho radi robia srandu, zvyčajne zo stránky, ktorú im PHP servíruje. Jeho údržba je nezisková organizácia s asi trinástimi inžiniermi.
Aké sú dve chyby PHP2Shell?
0:41 V stredu vydalo PHP núdzové opravy pre dve kritické chyby, ktoré umožňujú cudzincovi spustiť kód na serveri bez prihlásenia. Spoločne sa volajú PHP2Shell a siahajú až do PHP päť bod štyri. Tu je prvá chyba jednoduchými slovami. PHP pridelí každej požiadavke pamäťový rozpočet. Ak požiadavka dosiahne tento limit presne v nesprávny moment, PHP sa ponáhľa a nechá požiadavku polovičnú. Potom krok čistenia dôveruje polovičnej veci.
1:07 Druhá chyba je zvyšková. Fatálna chyba môže zanechať poznámku odkazujúcu na pamäť, ktorá patrila poslednej požiadavke. Ten istý worker spracuje ďalšiu požiadavku a riadi sa poznámkou. Vtedy už na tejto adrese žije niekto iný. Na Apache s mod PHP sa poškodenie stane predtým, ako sa spustí váš vlastný kód, takže vaša prihlasovacia stránka nikdy nedostane hlas. Wiz hovorí, že dokonca aj skript „hello world“ je ohrozený. Oprava odstraňuje núdzový východ PHP pri nedostatku pamäte.
1:32 Namiesto toho, aby sa PHP pri mid-žiadosti zastavilo, teraz sa zdvorilo zastaví v ďalšom bezpečnom bode. Zvláštne je, aká stará je prvá stopa.
Prečo známa chyba čakala dva roky?
1:39 V roku 2024 externý bezpečnostný audit viedol hlavného vývojára PHP k prvým znakom problému s pamäťou. Nezistilo sa žiadne zneužitie a každá oprava niečo pokazila. Tím, ktorý rozhoduje konsenzom, si nevedel vybrať, takže chyba čakala. Potom v auguste dorazili nálezcovia v priebehu niekoľkých dní.
Kto a ako objavil PHP2Shell?
1:56 Výskumník Calif Ryan Austin to našiel 1. augusta, pracujúc prostredníctvom programu OpenAI Patch the Planet. OpenAI nezávisle nahlásila rovnakú hlavnú príčinu. Wiz našiel varianty o niekoľko týždňov neskôr s modelmi Gemini a GPT. Austin hovorí, že používal modely, ktoré môže získať ktokoľvek, plus teóriu o tom, kde sa skrývajú staré chyby PHP. OpenAI hovorí, že kľúčom bola pokročilá AI. Chyba sa skrývala viac ako desaťročie. Vydanie bolo naplánované na štvrtok.
Ako uniklo embargo PHP2Shell?
2:21 V utorok sa dve čísla CVE začali šíriť online, s nesprávnym časom vydania a nesprávnym skóre desať. PHP posunulo vydanie o deň dopredu. V ten večer Calif náhodne zverejnil video svojho funkčného proof-of-conceptu, a kópie prežili vymazanie. V stredu ráno, viac ako šesť hodín pred vydaním, Chainguard zverejnil zostavené obrazy obsahujúce opravu. PHP hovorí, že každý útočník mohol študovať túto opravu, zatiaľ čo všetci ostatní čakali.
2:46 Záplata je tiež rozdiel, a útočníci čítajú rozdiely.
Je PHP2Shell zneužívaný a kým?
2:50 Takže kto je vlastne zasiahnutý? Amazonov honeypot zaznamenal pokus 17. októbra a neskôr uviedol, že PHP2Shell je široko zneužívaný. watchTowr hlási zneužitie v praxi. Cisa uviedla, že pri zverejnení nepozorovala žiadne, a tím PHP nevidel žiadne fungujúce zneužitie pri vydaní. Generálny riaditeľ Cloudflare uviedol, že videl tisíce pokusov za desať hodín pred oznámením a milióny do štvrtkového rána.
3:13 Amazon je opatrný v jednom bode. Nevedia, či by ich najskoršie pokusy fungovali na skutočnom systéme. Pokus je len klopanie na dvere. Takže aké je to naozaj zlé? watchTowr hovorí, že verejné exploity, ktoré sa šíria, väčšinou zlyhajú alebo nič neurobia. VulnCheck hovorí, že spustenie kódu funguje v niektorých nastaveniach a žiadne z verejných neobíde randomizáciu pamäte na štandardných serveroch x86. Výskumník Elias Taylor hovorí, že to nie je ani zďaleka také ľahké ako Log4Shell.
3:40 Všetci stále hovoria opraviť. Vlády nečakali na verdikt.
Čo vlády stiahli z internetu?
3:44 NSA povedala organizáciám, ktoré nemohli opraviť, aby odpojili PHP systémy, a Národné centrum kybernetickej bezpečnosti Spojeného kráľovstva dalo podobnú radu. Holandské stránky, vrátane národnej služby digitálnej identity, zatemnili, spolu s webom parížskej polície. Wikimedia stiahla niekoľko systémov z preventívnych dôvodov. Palo Alto Networks spočítalo viac ako dvadsaťdva miliónov exponovaných inštancií. A austrálsky profesor vyjadril najostrejší názor. Stránky, ktorých sa treba obávať, sú tie, ktoré dnes nepadli.
Ktoré verzie PHP dostanú opravu?
4:11 Opravy existujú pre PHP osem bod dva až osem bod päť. Pre sedem bod štyri, osem bod nula a osem bod jedna, PHP zverejnilo iba zdrojové záplaty. Staršie verzie nedostanú nič od projektu PHP, takže sa opýtajte svojej distribúcie. Riešenia znižujú pravdepodobnosť, ale PHP hovorí, že aktualizácia je jediná úplná oprava. Je to rovnaká lekcia ako včerajšia epizóda eMudhra,
Čo urobiť s PHP2Shell dnes večer?
4:32 pretože existencia opravy nie je to isté ako to, že ju má spustený proces. Nájdite každé PHP vo vašom stohu, dokonca aj kópie skryté v inom softvéri. Aktualizujte, reštartujte workery a skontrolujte protokoly spätne k sedemnástemu októbru. V ten istý deň GitLab vydal kritickú opravu,
Čo iné vydalo dnes kritickú RCE záplatu?
4:47 devätnásť bod päť bod jeden. Pretečenie celého čísla v jeho kompilátore regulárnych výrazov umožňuje neautentifikovanému užívateľovi spustiť kód na serveri a má skóre desať z desiatich. GitLab.com je už opravený. Samostatne spravované inštalácie potrebujú aktualizáciu.
Prečo bola Meta odsúdená na zaplatenie 25 miliárd dolárov?
5:01 Medzitým v Novom Mexiku sudca nariadil spoločnosti Meta zaplatiť dvadsaťpäť miliárd dolárov na pokutách za Cambridge Analytica. Porota spočítala viac ako štyridsaťtri miliónov porušení, každé až do päťtisíc dolárov, čo činilo približne dvestodvadsať miliárd, kým to sudca znížil. Meta tvrdí, že vyhrá odvolanie. Teraz obrana, ktorú som sľúbil.
Aká je obrana Chainguard pre skorú opravu?
5:19 Generálny riaditeľ Chainguard povedal denníku The Register, že sám objavil tie isté chyby v piatok večer, po tom, čo sa dozvedel, že niečo príde v PHP, s jednoduchou výzvou nájsť zlé zraniteľnosti. Hovorí, že vydal opravu skoro, pretože ľudia už boli zasiahnutí. Ak by ste si to radšej prečítali, ako počuli, ako to hovorím ja, rozdiel pristane vo vašej schránke každé ráno, zadarmo na thedailydiff.dev, odkaz nižšie. Takže dnešný verdikt je SHIP IT.
Čo dostane pečiatku SHIP IT?
5:39 Vydajte aktualizáciu PHP dnes večer, pretože nové číslo verzie je jediná kompletná oprava. A to je dnešný rozdiel. Som Niko z Axrisi. Zlúčte zodpovedne.
Zdroje
- 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



