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 End of Life: pasenusių versijų rizika

Ką reiškia PHP versijos palaikymo pabaiga, kurios šakos po PHP2Shell dar gauna oficialias pataisas ir kaip migraciją padaryti planuojamą.

Būsena 4 min. skaitymoVadovai

Trumpai: PHP End of Life reiškia: PHP projektas šiai šakai saugumo atnaujinimų nebeteikia. PHP2Shell pasekmes parodo aiškiai, nes PHP 8.1 ir senesnėms versijoms oficialios pataisos nėra, o PHP 8.2 baigiasi 2026-12-31. Kas šiandien dirba senoje šakoje, perėjimą turėtų planuoti dabar, o ne per kitą avariją.

Ką reiškia PHP End of Life

Kiekviena PHP šaka, pavyzdžiui, 8.2 ar 8.3, PHP projekto prižiūrima tik ribotą laiką. Pirmiausia teikiamos klaidų pataisos ir saugumo atnaujinimai, vėliau tik saugumo atnaujinimai. Po to palaikymas baigiasi visiškai. Dabartinius laikotarpius php.net skelbia palaikomų versijų puslapyje.

Pasibaigus palaikymui programinė įranga veikia toliau. Tačiau paaiškėjus naujam pažeidžiamumui, PHP projekto pataisos nebebus. Serveris lieka pažeidžiamas, kol kas nors kitas pataisys arba kol pereisite prie palaikomos šakos.

Vadovybei ir IT vadovams tai pirmiausia planavimo klausimas. Migraciją galima ramiai paruošti. Skubant po kritinio pranešimo ji tampa brangi ir rizikinga.

Ką PHP2Shell parodo apie pasenusias versijas

2026-10-21 PHP projektas išleido pataisas dviem kritiniams pažeidžiamumams, CVE-2026-109618 ir CVE-2026-109619. Abu leidžia nuotoliu vykdyti kenkėjišką kodą be prisijungimo ir įvertinti CVSS v4.0 9,2 balo. Pasak specializuotos spaudos, paveiktos beveik visos versijos iki pat PHP 5.4.

Šaka Būsena pagal PHP projektą PHP2Shell pataisa
PHP 8.5 palaikoma 8.5.12
PHP 8.4 palaikoma 8.4.27
PHP 8.3 palaikoma 8.3.36
PHP 8.2 palaikoma iki 2026-12-31 8.2.35
PHP 8.1, 8.0, 7.4 oficialių atnaujinimų nėra tik minimalūs šaltinio kodo backport
PHP 7.3 ir senesnės oficialių atnaujinimų nėra PHP projekto backport nėra

Versijoms 8.1 ir senesnėms lieka tik kelias per distribucijų ar hostingo teikėjų atgalinius perkėlimus. Jie dažnai toliau rodo seną versijos numerį, nors pataisyti. Ar backport įdiegtas, įpareigojančiai gali patvirtinti tik teikėjas. Daugiau informacijos puslapyje PHP 8.1 ir senesnės: kas dabar galioja, pilną apžvalgą rasite puslapyje Kurios PHP versijos paveiktos?.

Svarbu

PHP 8.2 PHP2Shell pataisą dar gavo, bet palaikymą pasiekia 2026-12-31. Kas dabar migruoja iš 8.1, turėtų iškart pasirinkti naujesnę šaką.

Pasenusių PHP versijų rizika trumpai

Saugumo rizika yra pirmoje vietoje, bet ne vienintelė. Pasenusios PHP versijos sukelia ir kitų problemų:

  • Naujiems pažeidžiamumams pataisų nėra: kiekvienas būsimas pažeidžiamumas lieka atviras arba priklauso nuo trečiųjų šalių backport.
  • Pasenusios bibliotekos: naujesni paketai reikalauja naujesnių PHP šakų. Bibliotekų saugumo pataisymų tuomet nebegalima įdiegti, kaip rodo vadovas composer audit.
  • Priklausomybė nuo teikėjo: hostingo teikėjai už senas versijas kartais ima priemoką arba nutraukia veiklą. Terminą tuomet nustato teikėjas, o ne jūs.
  • Įrodymo problemos: draudikų, užsakovų atžvilgiu ar auditų metu nepalaikomą versiją sunku pagrįsti. Ar iš to kyla sutartinių ar teisinių pasekmių, išsiaiškinkite su draudiku ar advokatu.
  • Augantis migracijos darbas: kuo didesnis atstumas iki dabartinės versijos, tuo daugiau kodo reikia pritaikyti.

Ypač dažnai paveiktos senesnės parduotuvių sistemos ir ilgai neliestos individualios kūrimo sistemos. Tipiškas pavyzdys yra Shopware 5, kuris dažnai dar veikia senesnėse PHP šakose.

Inventorizacija: kokios PHP versijos veikia pas jus?

Pirmas žingsnis yra pilnas vaizdas. Daugelyje serverių lygiagrečiai veikia kelios PHP versijos, pavyzdžiui, sena svetainė, kurios niekas nebeprisimena. Šios komandos tik skaito:

# Komandinės eilutės versija
php -v
# Įdiegtos versijos Debian/Ubuntu
ls /etc/php/
# Įdiegtos versijos Plesk
ls /opt/plesk/php/ 2>/dev/null
# Veikiantys PHP procesai su versija pavadinime
ps -eo user,cmd | grep -E "[p]hp-fpm|[p]hp[0-9.]*-cgi|[l]sphp" | sort | uniq -c

Kiekvienai svetainei užfiksuokite: domeną, PHP versiją, veikimo režimą, CMS su versija, atsakingą asmenį. Šis sąrašas kartu yra jūsų avarinio plano pagrindas. Bendrinamame hostinge versijas dažniausiai rasite hostingo teikėjo klientų meniu.

Migracijos planavimas: kaip elgtis

Migracija į palaikomą šaką paprastai vyksta tais pačiais žingsniais, nepriklausomai nuo sistemos:

  1. Nustatyti tikslą: pasirinkti šaką, kuri pagal php.net bus palaikoma kuo ilgiau ir pagal gamintojo sistemos reikalavimus tinka jūsų CMS.
  2. Patikrinti suderinamumą: CMS, plėtiniai, temos ir nuosavas kodas. Duomenys pateikti atitinkamo gamintojo oficialioje svetainėje.
  3. Pasistatyti staging: svetainės kopija su nauja PHP versija, įskaitant duomenų bazę.
  4. Išbandyti: visus svarbius procesus, nuo kontaktų formos iki užsakymo proceso, taip pat klaidų žurnalą dėl įspėjimų.
  5. Perjungti ir paleisti iš naujo: pakeisti versiją, iš naujo paleisti visus PHP procesus, patikrinti veikimą ir klaidų žurnalą.

Planuokite realistiškai. Maža svetainė su šiuolaikiniu CMS dažnai perjungiama greitai. Per metus išaugusi parduotuvė su daug plėtinių ir nuosavu kodu, priešingai, gali reikalauti kodo ir plėtinių pritaikymo, net iki perėjimo prie naujos parduotuvės sistemos pagrindinės versijos. Anksti išsiaiškinkite, kas viduje sprendžia, koks biudžetas numatytas ir ar reikia įtraukti išorinius kūrėjus.

Taip pat nustatykite, kaip ateityje stebėsite palaikymo pabaigas. Kartą per metus numatytas terminas, kai savo svetainių sąrašą palyginate su php.net duomenimis, neleidžia tai pačiai kliūčiai pasikartoti po dvejų metų.

Iki perjungimo naudokite php.net pereinamąsias priemones, pavyzdžiui, session.upload_progress.enabled=0 serverio konfigūracijoje. Jos nėra visiška apsauga, bet mažina riziką.

Kaip PHP SOS padeda konkrečiai?

  • Užfiksuojame visas PHP versijas, veikimo režimus ir programas jūsų serveriuose.
  • Įvertiname riziką kiekvienai svetainei ir kartu su jumis nustatome eilę bei tikslinę versiją.
  • Iki migracijos įgyvendiname pereinamąsias priemones ir iš teikėjo gauname patvirtinimus dėl backport.
  • Migruojame per staging aplinką ir dokumentuojame testus bei perjungimą.

Eigą aprašo paslauga PHP 8.1 ir senesnės: migracija į palaikomą versiją.

Dažni klausimai

Kada baigiasi PHP 8.2 palaikymas?

PHP 8.2 PHP projekto palaikymą pasiekia 2026-12-31. PHP2Shell pataisą šaka dar gavo su 8.2.35 versija, vėlesniems pažeidžiamumams po to oficialaus atnaujinimo tikėtis nereikia.

Ar PHP 8.1 gaus pataisą nuo PHP2Shell?

PHP projektas 8.1 ir senesnėms versijoms oficialių atnaujinimų nebeteikia. Yra tik minimalūs šaltinio kodo atgaliniai perkėlimai (backport) 7.4, 8.0 ir 8.1 versijoms. Ar ir kaip jūsų hostingo teikėjas ar distribucija juos įdiegia, turite pasiteirauti pas teikėją.

Ar sena PHP versija su hostingo teikėjo backport yra saugi?

Backport gali uždaryti konkrečius pažeidžiamumus, bet palaikomos šakos nepakeičia. Jie priklauso nuo teikėjo, dažnai pasirodo vėliau ir neapima kiekvieno pažeidžiamumo. Kaip ilgalaikis sprendimas jie netinka.

Kaip sužinoti, ar mano CMS veikia su nauja PHP versija?

Patikrinkite sistemos reikalavimus oficialioje gamintojo svetainėje ir išbandykite staging aplinkoje. Tas pats galioja plėtiniams ir temoms, nes dažnai kliūtis yra būtent jie.

Š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