Dabartinė padėtis: PHP2Shell. Du kritiniai PHP pažeidžiamumai (CVSS 9,2) leidžia vykdyti kenkėjišką kodą be prisijungimo. Pataisos nuo 2026-10-21.Ką dabar daryti →

PHP atnaujinimas ar backport? Sprendimas senoms sistemoms

Senoms PHP versijoms po PHP2Shell yra keli keliai: distribucijos backport, trečiasis šaltinis, šaltinio pataisa, ilgalaikė pagalba ar atnaujinimas. Ko vertas kiekvienas kelias ir kiek laiko jis išlaiko.

Būsena 4 min. skaitymoSprendimų pagalba

Trumpai: ar PHP atnaujinimas, ar backport yra teisingas pasirinkimas, priklauso nuo to, kiek dar turi veikti jūsų sistema ir kaip gerai backport įrodytas. Savo distribucijos backport palaikomoje operacinėje sistemoje yra visavertis kelias. Šaltinio backport, trečiųjų šalių šaltiniai ir komercinė ilgalaikė pagalba PHP 8.1 ir senesnėms yra tiltai su galiojimo pabaiga. Ilgam laikui padeda tik perėjimas prie PHP versijos, kurią PHP projektas dar oficialiai palaiko.

Kodėl klausimas po PHP2Shell skubus

2026-10-21 PHP projektas PHP2Shell ištaisė versijose 8.5.12, 8.4.27, 8.3.36 ir 8.2.35. PHP 8.1 ir senesnėms oficialių išleidimų nebėra, yra tik minimalūs šaltinio backport 7.4, 8.0 ir 8.1. Pasak specializuotos spaudos, paveiktos beveik visos versijos iki pat PHP 5.4.

Todėl daugelis senų sistemų eksploatuotojų stovi prieš tą patį klausimą: ar pakanka kaip nors užlopyti spragą, ar dabar reikia atnaujinimo, kuris metų metus buvo atidedamas? Ką atnaujinimas reiškia praktiškai, aprašo mūsų pasiūlymas PHP 8.1 ir senesnių migracija. Kas galioja be oficialaus atnaujinimo, rasite skyriuje PHP 8.1 ir senesnės: kas dabar galioja. Šis straipsnis padeda svarstyti tarp jų.

Kokių rūšių backport yra

„Backport“ yra bendras terminas. Visada turima omenyje, kad pataisa iš naujesnės versijos perkeliama į senesnę. Tačiau kas tai daro ir kaip gerai patikrinta, labai skiriasi.

  1. Distribucijos backport: Debian, Ubuntu, Red Hat ir kiti perima saugumo pataisas į savo palaikomų leidimų PHP paketus. Versijos numeris dažnai lieka tas pats; pasak pranešimų, Ubuntu 24.04 po atnaujinimo toliau rodo 8.3.6. Pataisa įrodoma per paketo pakeitimų žurnalą ir distribucijos saugumo pranešimus.
  2. Trečiasis šaltinis: sury.org saugykla, kurią tvarko Ondřej Surý, pasak pranešimų, pateikė kompiliacijas visoms šakoms nuo 5.6 iki 8.5. Tai nėra Debian saugumo archyvas. Smulkmenos pateiktos skyriuje sury.org saugykla.
  3. PHP projekto šaltinio backport: 7.4, 8.0 ir 8.1 yra minimalios pataisos šaltinio kode, bet ne paruošti išleidimai. Kas jomis naudojasi, PHP turi pats kompiliuoti, testuoti ir ateityje prižiūrėti.
  4. Komercinė ilgalaikė pagalba: teikėjai, tokie kaip TuxCare ELS ar Zend/HeroDevs, siūlo senų versijų priežiūrą. Ar ir kada jie apima PHP2Shell, turi būti patvirtinta raštu; žinomuose šaltiniuose tai nebuvo įrodyta. Daugiau skyriuje Ilgalaikė pagalba senoms PHP versijoms.

PHP atnaujinimas ar backport: palyginimas

Kriterijus Atnaujinimas į palaikomą versiją Backport (pagal rūšį)
Apsauga nuo PHP2Shell Taip, su 8.2.35, 8.3.36, 8.4.27 ar 8.5.12 Taip, jei išsamus ir įrodytas
Būsimi saugumo atnaujinimai Oficialiai iki versijos palaikymo pabaigos Tik tol, kol atitinkamas teikėjas prižiūri
Įrodymas Versijos numeris ir paleidimas iš naujo Paketo pakeitimų žurnalas su CVE numeriais, teikėjo patvirtinimas
Darbo sąnaudos dabar Vidutinės ar didelės, reikia suderinamumo testų Mažos esant distribucijai, didelės savadarbiam
Darbo sąnaudos vėliau Mažos iki kito versijos šuolio Auga su kiekviena nauja spraga
Rizika programai Nesuderinamumai su senu kodu ir plėtiniais Maža, elgsena iš esmės išlieka
Tinkamumas kaip ilgalaikis sprendimas Taip Tik distribucijos backport palaikomos operacinės sistemos rėmuose

Eilutė „Darbo sąnaudos vėliau“ yra svarbiausia. PHP2Shell nebus paskutinė spraga. Kiekvienas mėnuo versijoje be oficialaus palaikymo reiškia, kad kitas pranešimas vėl iškels tą patį klausimą.

Kokia tikslinė versija atnaujinant?

Pasak php.net, kiekvienai PHP šakai galioja: dveji metai aktyvaus palaikymo, po to dveji metai tik saugumo pataisų. Iš to gaunamos šios saugumo palaikymo pabaigos datos:

Versija Saugumo palaikymas iki
PHP 8.2 2026-12-31
PHP 8.3 2027-12-31
PHP 8.4 2028-12-31
PHP 8.5 2029-12-31

Atnaujinimas į 8.2 todėl tėra trumpa tarpinė stotelė. Kas vis tiek migruoja, turėtų taikytis į versiją su ilgesniu horizontu, jei CMS, parduotuvė ir plėtiniai ją palaiko. Tai tikrinkite gamintojo sistemos reikalavimuose, o ne iš atminties. Kaip veikia išleidimo ciklas, paaiškina PHP versijos ir išleidimo ciklas.

Svarbu

Kad ir kuris kelias: po įdiegimo visi PHP procesai turi būti paleisti iš naujo. Backport, kuris tik guli diske, neapsaugo, kol atmintyje veikia seni darbiniai procesai.

Pragmatiška eilės tvarka senoms sistemoms

  1. Nedelsiant: nustatyti php.net pereinamąsias priemones arba laikinai atjungti sistemą nuo tinklo, jei nėra įrodytos pataisos.
  2. Per artimiausias dienas: įdiegti įrodytą backport, jei įmanoma, iš savo distribucijos arba su teikėjo rašytiniu patvirtinimu.
  3. Lygiagrečiai: patikrinti programos suderinamumą su palaikoma versija ir nustatyti grafiką.
  4. Per artimiausius mėnesius: atnaujinti į tikslinę versiją, parengtą bandomojoje kopijoje, su atsarginiu planu.

Backport matyti kaip tiltą, o ne tikslą, yra lemiama mintis.

Kada tam nereikia paslaugų teikėjo

Jei jūsų serveris veikia palaikomame Debian, Ubuntu ar RHEL ir distribucija pateikia backport, pakanka įprasto atnaujinimo su paleidimu iš naujo ir žvilgsnio į pakeitimų žurnalą. Tai patyręs administratorius įveikia vienas. Pagalba verta savadarbiams sprendimams, trečiosioms šalims, labai senoms versijoms ar programai, kurios suderinamumo niekas nebeapžvelgia.

Kaip PHP SOS padeda konkrečiai?

  • Tikriname, kokios PHP versijos ir paketų šaltiniai veikia jūsų serveriuose ir ar yra įrodyta pataisa.
  • Įdiegiame backport, paleidžiame iš naujo ir dokumentuojame įrodymą per pakeitimų žurnalą.
  • Išbandome jūsų programą kopijoje su tikslinė versija ir įvardijame nesuderinamumus.
  • Planuojame ir lydime atnaujinimą PHP 8.1 ir senesnių migracijos rėmuose.

Išvada

Distribucijos backport yra visavertis kelias, visi kiti backport yra tiltai. Kas užstrigo ties PHP 8.1 ar senesne, backport turėtų naudoti laikui atnaujinimui laimėti, o ne kad jį dar labiau atidėtų.

Dažni klausimai

Ar backport toks pat saugus kaip atnaujinimas į naują versiją?

Konkrečiai ištaisytai spragai backport gali būti lygiavertis, jei yra išsamus ir įrodytas. Tačiau jis ištaiso tik tai, kas buvo perkelta atgal. Perėjimas prie palaikomos versijos papildomai suteikia visus būsimus oficialius saugumo atnaujinimus.

Kaip atpažinti, kad mano backport apima PHP2Shell?

Pagal paketo pakeitimų žurnalą: ten turėtų būti nurodyti CVE numeriai CVE-2026-109618 ir CVE-2026-109619. Debian ir Ubuntu tai parodo apt-get changelog, RHEL šeimoje rpm -q --changelog. Vien versijos numeris nėra įrodymas.

Kiek laiko PHP 8.2 dar gaus saugumo atnaujinimus?

Pasak php.net, PHP 8.2 saugumo palaikymas baigiasi 2026-12-31. Kas šiandien atnaujina į 8.2, turėtų iškart suplanuoti ir kitą žingsnį.

Ar verta komercinė ilgalaikė pagalba senoms PHP versijoms?

Ji gali būti tiltas, kai atnaujinti trumpuoju laikotarpiu neįmanoma. Leiskite raštu patvirtinti, ar ir nuo kada PHP2Shell apimta. Iki šiol žinomuose šaltiniuose tai nebuvo įrodyta.

Šaltiniai

Skubus kontaktas

Kiekviena valanda svarbi. Parašykite mums dabar.

Trumpai aprašykite sistemą, PHP versiją ir pastebėjimus. Mes atsakysime, išsiaiškinsime padėtį ir dirbsime nuotoliu, kol incidentas bus užbaigtas ir dokumentuotas.

Skubi pagalba