+− THE DAILY DIFFdev & AI news
SHIP IT

PHP2Shell: divas kritiskas PHP kļūdas, noplūdis embargo un kas patiesībā zināms par izmantošanu

PHP nosūtīja ārkārtas labojumus divām kritiskām attālinātas koda izpildes nepilnībām, CVE-2026-109618 un CVE-2026-109619, ko sauc par PHP2Shell.

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

PHP nosūtīja ārkārtas labojumus divām kritiskām attālinātas koda izpildes nepilnībām, CVE-2026-109618 un CVE-2026-109619, ko sauc par PHP2Shell. Izlaidums notika 2026. gada 21. oktobrī. Episodē vienkāršiem vārdiem paskaidrotas divas atmiņas kļūdas, kāpēc 2024. gada audita norāde gaidīja labojumu, kā noplūda embargo un kādi avoti ko saka par izmantošanu. Tā aptver arī GitLab kritiskā labojuma izlaišanu tajā pašā dienā un Meta 25 miljardu dolāru soda rīkojumu Ņūmeksikā.

Lasiet rakstisko izdevumu (angļu valodā) ↗

Ko aptver šis video

  • PHP komanda abas kļūdas CVSS v4.0 novērtē ar 9.2. Labotās versijas ir PHP 8.2.35, 8.3.36, 8.4.27 un 8.5.12; PHP 7.4, 8.0 un 8.1 saņēma tikai avota labojumus. PHP norāda, ka atjaunināšana ir vienīgā pilnīga mazināšana.
  • Pirmā kļūda rodas no tā, ka PHP atstāj pieprasījumu daļēji uzbūvētu, kad nepareizā brīdī beidzas atmiņa. Otrā rodas no atmiņas rādītāja, kas palicis no viena pieprasījuma, ko var izmantot vēlāks pieprasījums tajā pašā darbiniekā. Apache ar mod_php pirmais ceļš tiek izpildīts pirms lietojumprogrammas koda.
  • PHP galvenais izstrādātājs 2024. gada audita laikā atklāja pirmās atmiņas problēmas pazīmes. PHP fonds apgalvo, ka konkurējošiem labojumiem bija kompromisi, un uz konsensu balstīta drošības komanda cīnījās ar izvēli, ko tā dēvē par strukturālu kļūmi.
  • Fonds apgalvo, ka CVE ID noplūda 20. oktobrī, Calif kļūdaini publicēja pierādījumu-of-koncepcijas video, un Chainguard publicēja izveidotus attēlus ar labojumu vairāk nekā sešas stundas pirms izlaišanas. Chainguard izpilddirektors saka, ka cilvēki jau tika ietekmēti un ka viņš kļūdas atklāja neatkarīgi.
  • Avoti nesaskan par izmantošanu. Amazon 17. oktobrī reģistrēja mēģinājumu un vēlāk paziņoja, ka PHP2Shell tiek plaši izmantots. watchTowr ziņoja par izmantošanu reālajā dzīvē. CISA publikācijas laikā nebija novērojusi izmantošanu, un PHP komanda izlaišanas brīdī neatklāja funkcionālu izmantošanu. Daudzi publiskie pierādījumu-of-koncepcijas skripti, kā ziņots, nedarbojas.
  • Pārbaudiet katru vietu, kur darbojas PHP, ieskaitot kopijas citā programmatūrā, atjauniniet, restartējiet darbiniekus un pārskatiet žurnālus līdz 17. oktobrim.

Jautājumi un atbildes

Kādas ir divas PHP2Shell ievainojamības?

PHP2Shell nosauc divas kritiskas PHP kļūdas, CVE-2026-109618 un CVE-2026-109619, abas PHP komanda novērtējusi ar 9.2. Pirmā atstāj pieprasījumu daļēji uzbūvētu, kad PHP nepareizā brīdī izbeidzas atmiņa, un tīrīšana pēc tam tam uzticas. Otrā atstāj rādītāju uz viena pieprasījuma atmiņu, ko var izmantot vēlāks pieprasījums tajā pašā darbiniekā. Abas var novest pie koda izpildes bez pieteikšanās.

Noskatīties šo daļu 0:41 · PHP security advisory · PHP security advisory · The PHP Foundation

Kuras PHP versijas ir labotas PHP2Shell dēļ, un kā ir ar neatbalstītām versijām?

PHP projekts 21. oktobrī izlaida labojumus 8.2.35, 8.3.36, 8.4.27 un 8.5.12 versijās. 7.4, 8.0 un 8.1 versijām tas publicēja tikai avota labojumus, un BleepingComputer ziņo, ka izplatītāji un ilgtermiņa atbalsta nodrošinātāji var piegādāt atpakaļpieņemtos labojumus. PHP norāda, ka nav pilnīga risinājuma, tāpēc atjaunināšana vai pieprasījums no piegādātāja par labotu pakotni ir vienīgā drošā izvēle.

Noskatīties šo daļu 4:11 · The PHP Foundation · BleepingComputer

Kāpēc zināmas PHP atmiņas kļūdas novēršana ilga līdz 2026. gada oktobrim?

PHP fonds apgalvo, ka galvenais izstrādātājs atklāja pirmās atmiņas problēmas pazīmes 2024. gada drošības audita laikā, taču nebija zināms ekspluatācijas ceļš, un katram kandidāta labojumam bija kompromisi, piemēram, saderības pārtraukumi. Drošības komanda lēmumus pieņem ar vienprātību un cīnījās ar izvēli, ko fonds dēvē par strukturālu kļūmi, ko izraisīja tās lēmumu pieņemšanas process un resursu trūkums.

Noskatīties šo daļu 1:37 · The PHP Foundation

Vai PHP2Shell tiek izmantots, un cik viegli to izmantot?

Avoti nesaskan. Amazon 17. oktobrī reģistrēja ekspluatācijas mēģinājumu un vēlāk paziņoja, ka PHP2Shell tika plaši ekspluatēts, un watchTowr ziņoja par ekspluatāciju dabā. CISA publikācijas brīdī nebija novērojusi ekspluatāciju, un PHP komanda izlaišanas brīdī neatklāja funkcionālu ekspluatāciju. watchTowr saka, ka lielākā daļa publisko ekspluatācijas skriptu avarē vai neko nedara, un VulnCheck atklāja, ka koda izpilde darbojas tikai dažās konfigurācijās.

Noskatīties šo daļu 2:50 · AWS Security Blog · CISA · SecurityWeek

Kāds bija The Daily Diff spriedums par PHP2Shell?

The Daily Diff spriedums bija SHIP IT: izlaidiet PHP atjauninājumu šovakar, jo jaunā versija ir vienīgais pilnīgais labojums. CISA iesaka inventarizēt katru sistēmu, kas darbojas ar PHP, ieskaitot kopijas citā programmatūrā, pielietot labojumu un atvienot PHP sistēmas, ja tās nevar atjaunināt. Amazon iesaka pārskatīt žurnālus līdz 17. oktobrim, kad tā reģistrēja pirmo mēģinājumu.

Noskatīties šo daļu 5:38 · CISA · AWS Security Blog

Tulkotais transkripts

Tulkojums no oriģinālā angļu stāstījuma. Pieejamais audio un subtitri tiek kontrolēti no YouTube.

Kurš izmēģināja PHP2Shell četras dienas agrāk?

0:00 Drošības embargo ir paredzēts, lai kļūdu paturētu slepenībā, līdz tiek izlaists labojums. Amazon reģistrēja mēģinājumu pret PHP kritisko kļūdu četras dienas agrāk. Šajā video, kurš to atklāja? Kā noplūda embargo? Un cik slikti tas patiesībā ir? Un uzņēmumam, kas vainojams noplūdē, ir aizstāvība, ko es negaidīju. Es to izstāstīšu. Ir ceturtdiena, divdesmit otrā oktobra, un tas ir The Daily Diff.

0:21 PHP ir skriptu valoda, kas veido tīmekļa lapas serverī tieši pirms tās sasniegt jūs. Tā ir vairāk nekā trīsdesmit gadus veca un, pēc vienas aplēses, darbojas apmēram septiņdesmit procentos tīmekļa vietņu, ieskaitot WordPress un programmatūru aiz Vikipēdijas. Izstrādātājiem patīk to izsmiet, parasti no lapas, ko PHP viņiem apkalpo. Tās uzturēšana ir bezpeļņas organizācija ar apmēram trīspadsmit inženieriem.

Kas ir divas PHP2Shell kļūdas?

0:41 Trešdien PHP izlaida ārkārtas labojumus divām kritiskām kļūdām, kas ļauj svešiniekam palaist kodu serverī bez pieteikšanās. Kopā tās sauc par PHP2Shell, un tās stiepjas līdz PHP piecu punktu četri. Šeit ir pirmā kļūda vienkāršos vārdos. PHP katram pieprasījumam piešķir atmiņas budžetu. Ja pieprasījums sasniedz šo ierobežojumu tieši nepareizā brīdī, PHP steidzīgi pārtrauc darbību un atstāj pieprasījumu daļēji uzbūvētu. Tad tīrīšanas solis uzticas daļēji uzbūvētajai lietai.

1:07 Otrā kļūda ir atlikums. Fatāla kļūda var atstāt piezīmi, kas norāda uz atmiņu, kas piederēja pēdējam pieprasījumam. Tas pats darbinieks apstrādā nākamo pieprasījumu un seko piezīmei. Līdz tam laikam šajā adresē jau dzīvo kāds cits. Apache ar mod PHP bojājumi notiek pirms jūsu pašu koda palaišanas, tāpēc jūsu pieteikšanās lapa nekad nesaņem balsojumu. Wiz saka, ka pat "hello world" skripts ir pakļauts riskam. Labojums novērš PHP ārkārtas izeju atmiņas izsīkuma gadījumā.

1:32 Tā vietā, lai pārtrauktu darbību pieprasījuma vidū, PHP tagad pieklājīgi apstājas pie nākamā drošā punkta. Neparasta daļa ir tas, cik veca ir pirmā norāde.

Kāpēc zināma kļūda gaidīja divus gadus?

1:39 2024. gadā ārējais drošības audits noveda PHP galveno izstrādātāju pie pirmajām atmiņas problēmas pazīmēm. Nebija zināma ekspluatācija, un katrs labojums kaut ko salauza. Komanda, kas lēmumus pieņēma ar vienprātību, nevarēja izvēlēties, tāpēc kļūda gaidīja. Tad augustā atklājēji ieradās dažu dienu laikā.

Kurš un kā atklāja PHP2Shell?

1:56 Calif pētnieks Raiens Ostins to atklāja 1. augustā, strādājot pie OpenAI programmas "Patch the Planet". OpenAI neatkarīgi ziņoja par to pašu pamatcēloni. Wiz dažas nedēļas vēlāk atklāja variantus ar Gemini un GPT modeļiem. Ostins saka, ka viņš izmantoja modeļus, ko ikviens var iegūt, kā arī teoriju par to, kur slēpjas PHP vecās kļūdas. OpenAI saka, ka galvenais bija progresīvā AI. Kļūda bija slēpusies vairāk nekā desmit gadus. Izlaide bija plānota ceturtdien.

Kā noplūda PHP2Shell embargo?

2:21 Otrdien tie divi CVE numuri sāka cirkulēt tiešsaistē, ar nepareizu izlaišanas laiku un nepareizu rezultātu desmit. PHP izlaidumu pārcēla par dienu agrāk. Tajā vakarā Calif nejauši publicēja video ar savu pierādījumu-of-koncepcijas darbību, un kopijas saglabājās pēc dzēšanas. Trešdienas rītā, vairāk nekā sešas stundas pirms izlaišanas, Chainguard publicēja izveidotus attēlus, kas saturēja labojumu. PHP saka, ka jebkurš uzbrucējs varēja pētīt šo labojumu, kamēr visi citi gaidīja.

2:46 Labojums ir arī atšķirība, un uzbrucēji lasa atšķirības.

Vai PHP2Shell tiek izmantots, un kurš to dara?

2:50 Tātad, kurš patiesībā tiek ietekmēts? Amazon mīlas pods 17. oktobrī reģistrēja mēģinājumu un vēlāk teica, ka PHP2Shell tiek plaši izmantots. watchTowr ziņo par izmantošanu reālajā dzīvē. Cisa teica, ka publicēšanas brīdī nebija novērojusi nekādu, un PHP komanda izlaišanas brīdī neredzēja nekādu darbojošos izmantošanu. Cloudflare izpilddirektors teica, ka desmit stundās pirms paziņojuma viņi redzēja tūkstošiem mēģinājumu, un miljonus līdz ceturtdienas rītam.

3:13 Amazon ir piesardzīgs vienā jautājumā. Tā nezina, vai tās agrākie mēģinājumi būtu darbojušies reālā sistēmā. Mēģinājums ir tikai klauvēšana pie durvīm. Tātad, cik slikti tas patiesībā ir? watchTowr saka, ka publiskie ekspluatācijas gadījumi lielākoties avarē vai neko nedara. VulnCheck saka, ka koda izpilde darbojas dažās konfigurācijās, un neviens no publiskajiem nespēj pārspēt atmiņas randomizāciju standarta x86 serveros. Pētnieks Eliass Teiloris saka, ka tas nav tik viegli kā Log4Shell.

3:40 Visi joprojām saka: labojiet. Valdības nesagaidīja spriedumu.

Ko valdības izslēdza?

3:44 NSA paziņoja organizācijām, kas nevarēja labot, lai atvienotu PHP sistēmas, un Apvienotās Karalistes Nacionālais kiberdrošības centrs sniedza līdzīgus padomus. Nīderlandes vietnes, tostarp valsts digitālās identitātes pakalpojums, pazuda, līdzīgi kā Parīzes policijas vietne. Wikimedia piesardzības nolūkos atvienoja vairākas sistēmas. Palo Alto Networks saskaitīja vairāk nekā divdesmit divus miljonus pakļautu gadījumu. Un Austrālijas profesors izteica visprecīzāko domu. Vietnes, par kurām jāuztraucas, ir tās, kas šodien nav izslēgtas.

Kurām PHP versijām ir labojums?

4:11 Labojumi ir pieejami PHP astoņi punkts divi līdz astoņi punkts pieci. Attiecībā uz septiņi punkts četri, astoņi punkts oh un astoņi punkts viens, PHP publicēja tikai avota labojumus. Vecākas versijas nesaņem neko no PHP projekta, tāpēc jautājiet savam izplatītājam. Apvedceļi samazina izredzes, bet PHP saka, ka atjaunināšana ir vienīgais pilnīgais labojums. Tā ir tā pati mācība kā vakardienas eMudhra epizodē,

Ko darīt ar PHP2Shell šovakar?

4:32 jo labojuma esamība nav tas pats, kas tas, ka darbojošajā procesā tas ir. Atrodiet katru PHP savā stekā, pat kopijas, kas slēpjas citā programmatūrā. Atjauniniet, restartējiet darbiniekus un pārbaudiet žurnālus līdz 17. oktobrim. Tajā pašā dienā GitLab izlaida kritisku labojumu versiju,

Kas vēl šodien izlaida kritisku RCE labojumu?

4:47 deviņpadsmit punkt pieci punkt viens. Veselu skaitļu pārpilde tās regulārās izteiksmes kompilatorā ļauj neautentificētam lietotājam palaist kodu serverī, un tas tiek novērtēts ar desmit no desmit. GitLab.com jau ir labots. Pašpārvaldītām instalācijām ir nepieciešams atjauninājums.

Kāpēc Meta tika piespriests maksāt 25 miljardus dolāru?

5:01 Tikmēr Ņūmeksikā tiesnesis Meta piesprieda maksāt divdesmit piecus miljardus dolāru sodu par Cambridge Analytica. Žūrija saskaitīja vairāk nekā četrdesmit trīs miljonus pārkāpumu, katrs līdz pieciem tūkstošiem dolāru, kas bija apmēram divi simti divdesmit miljardi, pirms tiesnesis to samazināja. Meta saka, ka uzvarēs apelācijā. Tagad solītais aizstāvības vārds.

Kāda ir Chainguard aizstāvība par agrīno labojumu?

5:19 Chainguard izpilddirektors The Register pastāstīja, ka viņš pats piektdienas vakarā atklāja tās pašas kļūdas, uzzinot, ka PHP kaut kas nāk, ar pamata uzaicinājumu atrast sliktas ievainojamības. Viņš saka, ka viņš to izlaida agrāk, jo cilvēki jau tika ietekmēti. Ja jūs to labāk lasītu, nekā dzirdētu mani to sakām, atšķirības katru rītu nonāk jūsu iesūtnē bez maksas vietnē the daily diff dot dev, saite zemāk. Tātad šodienas spriedums ir SHIP IT.

Kas saņem SHIP IT zīmogu?

5:39 Šovakar izlaidiet PHP atjauninājumu, jo jaunais versijas numurs ir vienīgais pilnīgais labojums. Un tas ir šodienas atšķirība. Esmu Niko no Axrisi. Apvienojiet atbildīgi.

Avoti

  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

Saistītie video