+− THE DAILY DIFFdev & AI news
SHIP IT

PHP2Shell: dvi kritinės PHP klaidos, nutekintas embargas ir kas iš tikrųjų žinoma apie išnaudojimą

PHP išleido avarinius pataisymus dviem kritinėms nuotolinio kodo vykdymo spragoms, CVE-2026-109618 ir CVE-2026-109619, pavadintoms PHP2Shell.

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

PHP išleido avarinius pataisymus dviem kritinėms nuotolinio kodo vykdymo spragoms, CVE-2026-109618 ir CVE-2026-109619, pavadintoms PHP2Shell. Išleidimas įvyko 2026 m. spalio 21 d. Epizodas paaiškina dvi atminties klaidas paprastais žodžiais, kodėl 2024 m. audito metu gauta užuomina laukė pataisymo, kaip nutekėjo embargas ir kurie šaltiniai ką sako apie išnaudojimą. Taip pat aptariamas tą pačią dieną išleistas GitLab kritinių pataisymų paketas ir 25 milijardų dolerių Meta baudos nutartis Naujojoje Meksikoje.

Skaityti rašytinę versiją (anglų k.) ↗

Kas aptariama šiame vaizdo įraše

  • Abi klaidos PHP komandos įvertintos 9.2 balais pagal CVSS v4.0. Ištaisyti leidimai yra PHP 8.2.35, 8.3.36, 8.4.27 ir 8.5.12; PHP 7.4, 8.0 ir 8.1 gavo tik šaltinio pataisas. PHP teigia, kad atnaujinimas yra vienintelis pilnas sumažinimas.
  • Pirmoji klaida kyla dėl to, kad PHP palieka užklausą pusiau sukonstruotą, kai netinkamu momentu pritrūksta atminties. Antroji kyla dėl likusio rodyklės į vienos užklausos atmintį, kurią gali naudoti vėlesnė užklausa tame pačiame darbuotojuje. Apache su mod_php, pirmasis kelias paleidžiamas prieš programos kodą.
  • PHP pagrindinis kūrėjas pirmuosius atminties problemos ženklus aptiko 2024 m. audito metu. PHP fondas teigia, kad konkuruojantys pataisymai turėjo kompromisų, o sutarimu pagrįsta saugumo komanda sunkiai pasirinko, ką ji vadina struktūrine nesėkme.
  • Fondą teigia, kad CVE ID nutekėjo spalio 20 d., Calif klaidingai paskelbė įrodymo vaizdo įrašą, o Chainguard paskelbė sukurtus vaizdus su pataisymu daugiau nei prieš šešias valandas iki išleidimo. Chainguard generalinis direktorius sako, kad žmonės jau buvo nukentėję ir kad jis pats nepriklausomai aptiko klaidas.
  • Šaltiniai nesutaria dėl išnaudojimo. Amazon užfiksavo bandymą spalio 17 d. ir vėliau pareiškė, kad PHP2Shell buvo plačiai išnaudojamas. watchTowr pranešė apie išnaudojimą laukinėje gamtoje. CISA nepastebėjo išnaudojimo publikavimo metu, o PHP komanda nerado veikiančio išnaudojimo išleidimo metu. Daugelis viešai prieinamų įrodymo scenarijų, kaip pranešama, neveikia.
  • Patikrinkite kiekvieną vietą, kurioje veikia PHP, įskaitant kopijas kitos programinės įrangos viduje, atnaujinkite, iš naujo paleiskite darbuotojus ir peržiūrėkite žurnalus nuo spalio 17 d.

Klausimai ir atsakymai

Kas yra dvi PHP2Shell pažeidžiamumo klaidos?

PHP2Shell pavadintos dvi kritinės PHP klaidos, CVE-2026-109618 ir CVE-2026-109619, abi įvertintos 9.2 balais PHP komandos. Pirmoji palieka užklausą pusiau sukonstruotą, kai PHP netinkamu momentu pritrūksta atminties, o valymas ja pasitiki. Antroji palieka rodyklę į vienos užklausos atmintį, kurią vėlesnė užklausa tame pačiame darbuotojuje gali naudoti. Abi gali sukelti kodo vykdymą be prisijungimo.

Žiūrėkite šią dalį 0:41 · PHP security advisory · PHP security advisory · The PHP Foundation

Kurios PHP versijos turi PHP2Shell pataisą ir kaip su nepalaikomomis versijomis?

PHP projektas išleido pataisymus 8.2.35, 8.3.36, 8.4.27 ir 8.5.12 versijoms spalio 21 d. 7.4, 8.0 ir 8.1 versijoms buvo paskelbti tik šaltinio pataisymai, o BleepingComputer praneša, kad platinimo ir ilgalaikio palaikymo tiekėjai gali tiekti atgaliniu būdu perkeltas pataisas. PHP teigia, kad nėra pilno apėjimo, todėl atnaujinimas arba prašymas tiekėjo pateikti pataisytą paketą yra vienintelis saugus pasirinkimas.

Žiūrėkite šią dalį 4:11 · The PHP Foundation · BleepingComputer

Kodėl žinomos PHP atminties klaidos taisymas užtruko iki 2026 m. spalio mėn.?

PHP fondas teigia, kad pagrindinis kūrėjas aptiko pirmuosius atminties problemos požymius 2024 m. saugumo audito metu, tačiau nebuvo žinomas išnaudojimo kelias, o kiekvienas kandidatinis pataisymas turėjo kompromisų, tokių kaip suderinamumo pažeidimai. Saugumo komanda sprendžia konsensusu ir sunkiai pasirinko, ką fondas vadina struktūrine nesėkme, sukelta sprendimų priėmimo proceso ir resursų trūkumo.

Žiūrėkite šią dalį 1:37 · The PHP Foundation

Ar PHP2Shell yra išnaudojamas, ir kaip lengva jį išnaudoti?

Šaltiniai nesutaria. Amazon užfiksavo išnaudojimo bandymą spalio 17 d. ir vėliau pareiškė, kad PHP2Shell buvo plačiai išnaudojamas, o „watchTowr“ pranešė apie išnaudojimą laukinėje gamtoje. CISA nepastebėjo išnaudojimo publikavimo metu, o PHP komanda nematė veikiančio išnaudojimo išleidimo metu. „watchTowr“ teigia, kad dauguma viešai prieinamų išnaudojimo scenarijų sugenda arba nieko nedaro, o „VulnCheck“ nustatė, kad kodo vykdymas veikia tik kai kuriose konfigūracijose.

Žiūrėkite šią dalį 2:50 · AWS Security Blog · CISA · SecurityWeek

Koks buvo The Daily Diff verdiktas dėl PHP2Shell?

„The Daily Diff“ verdiktas buvo SHIP IT: atnaujinkite PHP šį vakarą, nes nauja versija yra vienintelis pilnas pataisymas. CISA rekomenduoja inventorizuoti kiekvieną sistemą, kurioje veikia PHP, įskaitant kopijas kitos programinės įrangos viduje, pritaikyti pataisymą ir išjungti PHP sistemas, jei jų negalima atnaujinti. „Amazon“ pataria peržiūrėti žurnalus iki spalio 17 d., kai buvo pastebėtas pirmasis bandymas.

Žiūrėkite šią dalį 5:38 · CISA · AWS Security Blog

Išverstas transkriptas

Išversta iš originalo anglų kalbos. Galimas garso ir subtitrų valdymas per YouTube.

Kas bandė PHP2Shell keturiomis dienomis anksčiau?

0:00 Saugumo embargas turėtų išlaikyti klaidą tyliai, kol bus išleistas pataisymas. Amazon užfiksavo bandymą prieš kritinę PHP klaidą keturiomis dienomis anksčiau. Šiame vaizdo įraše, kas tai atrado? Kaip nutekėjo embargas? Ir kiek iš tikrųjų tai blogai? O kompanija, kaltinama dėl nutekėjimo, turi gynybą, kurios nesitikėjau. Aš prie to pereisiu. Ketvirtadienis, spalio dvidešimt antra diena, ir tai yra The Daily Diff.

0:21 PHP yra scenarijų kalba, kuri kuria tinklalapius serveryje, prieš pat jiems pasiekiant jus. Jai daugiau nei trisdešimt metų, ir, pagal vieną įvertinimą, ji veikia apie septyniasdešimt procentų svetainių, įskaitant WordPress ir programinę įrangą už Vikipedijos. Kūrėjai mėgsta ją pašiepti, dažniausiai iš puslapio, kurį PHP jiems pateikia. Jos priežiūra yra ne pelno organizacija su maždaug trylika inžinierių.

Kokios yra dvi PHP2Shell klaidos?

0:41 Trečiadienį PHP išleido skubius pataisymus dviem kritinėms klaidoms, kurios leido svetimam asmeniui paleisti kodą serveryje be prisijungimo. Kartu jos vadinamos PHP2Shell, ir jos siekia PHP penkis taškas keturis. Štai pirmoji klaida paprastais žodžiais. PHP kiekvienai užklausai skiria atminties biudžetą. Jei užklausa pasiekia tą ribą būtent netinkamu momentu, PHP skubiai pasitraukia ir palieka užklausą pusiau sukonstruotą. Tada valymo žingsnis pasitiki pusiau sukonstruotu daiktu.

1:07 Antroji klaida yra likutis. Mirtina klaida gali palikti užrašą, nurodantį į atmintį, kuri priklausė paskutinei užklausai. Tas pats darbuotojas apdoroja kitą užklausą ir seka užrašu. Iki to laiko ten gyvena kažkas kitas. Apache su mod PHP, žala įvyksta prieš paleidžiant jūsų kodą, todėl jūsų prisijungimo puslapis niekada negauna balso. Wiz teigia, kad net „hello world“ scenarijus yra pažeidžiamas. Pataisymas pašalina PHP avarinį išėjimą dėl atminties trūkumo.

1:32 Užuot pasitraukęs užklausos viduryje, PHP dabar mandagiai sustoja kitame saugiame punkte. Keista dalis yra tai, kokia sena pirmoji užuomina.

Kodėl žinoma klaida laukė dvejus metus?

1:39 2024 m. išorės saugumo auditas PHP pagrindinį kūrėją nuvedė prie pirmųjų atminties problemos požymių. Nė vienas išnaudojimas nebuvo žinomas, ir kiekvienas pataisymas kažką sugadino. Sutarimu sprendžianti komanda negalėjo pasirinkti, todėl klaida laukė. Tada rugpjūtį, atradėjai atvyko per kelias dienas.

Kas ir kaip atrado PHP2Shell?

1:56 „Calif“ tyrėjas Ryanas Austinas tai atrado rugpjūčio pirmąją, dirbdamas per „OpenAI“ programą „Patch the Planet“. „OpenAI“ nepriklausomai pranešė apie tą pačią pagrindinę priežastį. „Wiz“ atrado variantus po kelių savaičių su „Gemini“ ir „GPT“ modeliais. Austinas sako, kad jis naudojo modelius, kuriuos gali gauti bet kas, plius teorija apie tai, kur slepiasi senos PHP klaidos. OpenAI teigia, kad svarbiausia buvo pažangusis dirbtinis intelektas. Klaida slėpėsi daugiau nei dešimtmetį. Išleidimas buvo planuojamas ketvirtadieniui.

Kaip nutekėjo PHP2Shell embargas?

2:21 Antradienį du CVE numeriai pradėjo cirkuliuoti internete, su neteisingu išleidimo laiku ir neteisingu dešimties balu. PHP išleido leidimą viena diena anksčiau. Tą vakarą „Calif“ netyčia paskelbė savo įrodymo koncepcijos vaizdo įrašą veikimą, ir kopijos išliko po ištrynimo. Trečiadienio rytą, daugiau nei prieš šešias valandas iki išleidimo, Chainguard paskelbė sukurtus paveikslėlius, kuriuose yra pataisymas. PHP teigia, kad bet kuris užpuolikas galėjo studijuoti tą pataisymą, kol visi kiti laukė.

2:46 Pataisymas taip pat yra skirtumas, ir užpuolikai skaito skirtumus.

Ar PHP2Shell yra išnaudojamas ir kieno?

2:50 Taigi, kas iš tikrųjų nukenčia? „Amazon“ honeypot užfiksavo bandymą spalio septynioliktą dieną ir vėliau teigė, kad PHP2Shell yra plačiai išnaudojamas. „watchTowr“ praneša apie išnaudojimą laukinėje gamtoje. Cisa teigė, kad ji nepastebėjo jokio, kai paskelbė, ir PHP komanda nematė jokio veikiančio išnaudojimo išleidimo metu. Cloudflare generalinis direktorius teigė, kad per dešimt valandų iki pranešimo matė tūkstančius bandymų, o iki ketvirtadienio ryto – milijonus.

3:13 Amazon yra atidi viename punkte. Nežinoma, ar ankstyviausi bandymai būtų veikę realioje sistemoje. Bandymas tėra beldimas į duris. Taigi, kiek iš tikrųjų tai blogai? „watchTowr“ teigia, kad vieši išnaudojimai dažniausiai sugenda arba nieko nedaro. „VulnCheck“ teigia, kad kodo vykdymas veikia kai kuriose konfigūracijose, ir nė vienas iš viešųjų neįveikia atminties atsitiktinumo standartiniuose x86 serveriuose. Tyrėjas Elias Taylor sako, kad tai toli gražu nėra taip lengva kaip Log4Shell.

3:40 Visi vis dar sako „pataisyti“. Vyriausybės nelaukė verdikto.

Ką vyriausybės išjungė?

3:44 NSA nurodė organizacijoms, kurios negalėjo pataisyti, išjungti PHP sistemas, o Jungtinės Karalystės Nacionalinis kibernetinio saugumo centras davė panašų patarimą. Olandijos svetainės, įskaitant nacionalinę skaitmeninės tapatybės paslaugą, nutilo, kartu su Paryžiaus policijos svetaine. Wikimedia prevencijos tikslais išjungė kelias sistemas. Palo Alto Networks suskaičiavo daugiau nei dvidešimt du milijonus atvirų egzempliorių. Ir Australijos profesorius pasakė patį esmingiausią dalyką. Reikia jaudintis dėl tų svetainių, kurios šiandien neveikia.

Kurioms PHP versijoms taikomas pataisymas?

4:11 Pataisymai egzistuoja PHP aštuoni taškas du iki aštuoni taškas penki. PHP išleido tik šaltinio pataisas 7.4, 8.0 ir 8.1 versijoms. PHP paskelbė tik šaltinio pataisas. Senesnės versijos nieko negauna iš PHP projekto, todėl kreipkitės į savo platinimą. Apdraustųjų priemonių sumažina tikimybę, bet PHP teigia, kad atnaujinimas yra vienintelis pilnas pataisymas. Tai ta pati pamoka kaip ir vakarykštis eMudhra epizodas,

Ką daryti su PHP2Shell šiandien?

4:32 nes egzistuojantis pataisymas nėra tas pats, kas veikiantis procesas jį turi. Raskite kiekvieną PHP savo dėkloje, net ir kopijas, paslėptas kitoje programinėje įrangoje. Atnaujinkite, iš naujo paleiskite darbuotojus ir patikrinkite žurnalus iki spalio septynioliktosios. Tą pačią dieną GitLab išleido kritinį pataisymų leidimą,

Kas dar šiandien išleido kritinę RCE pataisą?

4:47 devyniolika taškas penki taškas vienas. Sveikojo skaičiaus perteklius jos reguliariųjų išraiškų kompiliatoriuje leidžia neautentifikuotam naudotojui paleisti kodą serveryje, ir jis įvertintas dešimt iš dešimties. GitLab.com jau pataisytas. Pačių valdomi įdiegimai reikalauja atnaujinimo.

Kodėl „Meta“ buvo įpareigota sumokėti 25 milijardus dolerių?

5:01 Tuo tarpu Naujojoje Meksikoje teisėjas įsakė „Meta“ sumokėti dvidešimt penkis milijardus dolerių baudų dėl „Cambridge Analytica“. Prisiekusieji suskaičiavo daugiau nei keturiasdešimt tris milijonus pažeidimų po penkis tūkstančius dolerių už kiekvieną, kas sudarė apie du šimtus dvidešimt milijardų, kol teisėjas sumažino. „Meta“ teigia, kad laimės apeliaciniame skunde. Dabar pažadėta gynyba.

Kokia yra „Chainguard“ gynyba dėl ankstyvo pataisymo?

5:19 „Chainguard“ generalinis direktorius „The Register“ pasakojo, kad penktadienio vakarą pats aptiko tas pačias klaidas, sužinojęs, kad kažkas ateina į PHP, su pagrindiniu nurodymu rasti blogas pažeidžiamumas. Jis sako, kad išsiuntė anksčiau, nes žmonės jau buvo nukentėję. Jei verčiau tai skaitytumėte, nei girdėtumėte mane sakant, „diff“ kiekvieną rytą nemokamai atkeliauja į jūsų pašto dėžutę adresu thedailydiff.dev, nuoroda žemiau. Taigi, šiandienos verdiktas yra SHIP IT.

Kas gauna SHIP IT antspaudą?

5:39 Siųskite PHP atnaujinimą šį vakarą, nes naujas versijos numeris yra vienintelis pilnas pataisymas. Ir tai šiandienos skirtumas. Aš Niko iš Axrisi. Susijungti atsakingai.

Šaltiniai

  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

Susiję vaizdo įrašai