PHP spraga, aptikta spalio 21 d.: kas įvyko ir kokia dabartinė situacija
Trečiadienį, spalio 21 d., paaiškėjo apie dvi rimtas saugumo spragas PHR programavimo kalboje, kuria veikia didžioji dalis visų svetainių, įskaitant WordPress. Galbūt tai pastebėjote, nes dalį dienos pas mus svetainės buvo neprieinamos. Šiame straipsnyje apžvelgiame, kas atsitiko, kaip veikėme ir kokia padėtis yra dabar.
Kas atsitiko?
Dėl šių spragų (CVE-2026-109618 ir CVE-2026-109619) neįgalioti asmenys galėjo vykdyti kodą žiniatinklio serveryje. Tai yra viena iš pačių rimčiausių spragų, kokia tik gali būti: užpuolikui tam nereikia slaptažodžio, o spraga paveikia beveik visą internetą.
Kaip veikėme
- Laikina priemonė
Tuo metu buvo žinoma tik tiek, kad visose PHP versijose yra dvi rimtos spragos, kurių CVE įvertinimas yra 9,2. Detalių dar nebuvo, taip pat nebuvo žinoma apie sėkmingus įsilaužimus, nors, pavyzdžiui, „Cloudflare“ jau matė vis daugiau bandymų. Kadangi spragos detalės nebuvo žinomos, niekas tiksliai nežinojo, kaip viskas iš tikrųjų yra ir ką galima padaryti, kad būtų sumažinta rizika. Tačiau vis daugiau rizikos mažinimo priemonių ir galimų veiksmų tapo žinoma. Jas iš karto įgyvendindavome, pavyzdžiui, išjungėme tam tikras PHP funkcijas ir keletą kartų atnaujinome ugniasienę.
Nuo 10:00 taip pat nepertraukiamai vykdėme labai griežtus kenkėjiškų programų nuskaitymus, kad iš karto pastebėtume, jei kas nors mūsų serveriuose ar mūsų klientų paskyrose patalpintų kokį nors scenarijų. Tai neįvyko. - Svetainės neprieinamos
Nors mūsų serveriuose nepastebėjome jokių piktnaudžiavimo bandymų, nusprendėme pasirinkti saugiausią variantą: viską atjungti. Pagrindinė to priežastis buvo abejonės dėl internete plintančių rizikos mažinimo priemonių (laikinų sprendimų) veiksmingumo, nes niekas negalėjo patvirtinti, kad jos suteiks pakankamą apsaugą.
Esant tokiai neaiškiai situacijai, kurios galimos pasekmės yra labai didelės, kelių valandų neprieinamumą galima pateisinti, o rizikuoti negalima. - Oficialus sprendimas
PHP kūrėjai išleido oficialų atnaujinimą su spragos taisymu 8.3, 8.4 ir 8.5 versijoms. Po to liko laukti atnaujintų paketų iš „CloudLinux“, mūsų serveriuose naudojamų PHP versijų tiekėjo.
Kartu su atnaujinimo paskelbimu tapo žinomos ir pažeidžiamumų detalės, kurios patvirtino mūsų nuojautą: žinomos rizikos mažinimo priemonės ir papildomos ugniasienės taisyklės, nors ir sumažino įsilaužimo riziką, nebuvo pakankamos serveriui apsaugoti. - Laikinas sprendimas
Deja, užtruko gerokai ilgiau, nei tikėjomės ir numatėme, kol „CloudLinux“ paruošė atnaujinimus. Iš bendravimo su kitais paslaugų teikėjais paaiškėjo, kad ne mes vieninteliai buvome nemaloniai nustebinti. Kadangi matėme, kad jie jau kelis kartus nesilaikė savo paskirtų terminų, ėmėmės kurti laikiną sprendimą.
Patys įdiegėme PHP versiją 8.3.36 visuose savo serveriuose ir laikinai perkėlėme visus klientus į šią versiją. 90 % svetainių vėl tapo pasiekiamos nuo 19:00 iki 20:30. Vienintelės svetainės, kurios netapo pasiekiamos, buvo pasenusios ir nebuvo suderinamos su moderniomis PHP versijomis. - Atnaujinimas
Atnaujinimai tapo prieinami ir mes iš karto pradėjome juos diegti bei tikrinti, serverį po serverio.
- Išspręsta
Visi serveriai buvo atnaujinti ir visos svetainės vėl tapo pasiekiamos, naudodamos tą pačią PHP versiją, kuri buvo naudojama anksčiau.
Puikiai suprantame, kad nemalonu, kai Jūsų svetainė visą popietę ir vakarą yra nepasiekiama. Tačiau šis nepatogumas nenusveria galimų pasekmių. Mums niekada anksčiau neteko priimti sprendimo dėl atsargumo viską atjungti, tačiau jei tokia pati situacija pasikartotų, elgtumėmės lygiai taip pat.
Kokia padėtis yra dabar?
- Visose PHP versijose, kurias siūlome, nuo 5.2 iki 8.5 imtinai, yra abiejų spragų saugumo taisymai.
- Kelios svetainės, kurios veikė dar senesnėje PHP versijoje, kuriai taisymo nėra, buvo perkeltos į atnaujintą versiją.
- Spragos paaiškėjimo metu ir po jo patikrinome serverius, ar nėra piktnaudžiavimo pėdsakų, tokių kaip užstrigę PHP procesai, įtartini procesai, įkelti failai ir užklausos, atitinkančios žinomą atakos pobūdį. Neradome jokių įrodymų, kad spraga mūsų serveriuose būtų buvusi išnaudota, ir prieš atjungdami svetaines taip pat neradome jokių bandymų tai padaryti.
Ar mano svetainė atskirta nuo kitų?
Taip. Kiekvienas pas mus užsakytas prieglobos paketas veikia atskiroje, apsaugotoje aplinkoje. PHP veikia Jūsų paketo vartotojo teisėmis, neturėdamas administravimo teisių serveryje, ir negali pasiekti kitų klientų failų ar duomenų bazių. Taip pat procesoriaus ir atminties naudojimas yra ribojamas kiekvienam paketui atskirai. Daugiau informacijos apie mūsų saugumą sąmoningai neviešiname: kuo mažiau žino užpuolikas, tuo geriau.
Skaityti kitus straipsnius

Pereiname prie Euro-Office: naujo biuro paketo Jūsų Nextcloud debesyje
Naujiena: MCP serveris DI. Leiskite savo DI dirbti su Jūsų svetaine
Jūsų DI dabar gali tiesiogiai dirbti su Jūsų svetaine WebOké: keisti failus, ieškoti klaidų, kurti naują dizainą ar paversti WordPress greita statine svetaine. Paaiškiname, kas yra MCP serveris, ką jis Jums duoda, kuriems planams jis skirtas ir kiek kainuoja (nieko papildomai).

