Trenutno stanje: PHP2Shell. Dvije kritične PHP ranjivosti (CVSS 9.2) omogućuju zlonamjerni kod bez prijave. Zakrpe od 21. 10. 2026.Što sada učiniti →

PHP End of Life: rizici zastarjelih verzija

Što znači kraj podrške za PHP verziju, koje grane nakon PHP2Shella još dobivaju službene zakrpe i kako migraciju učiniti planabilnom.

Stanje 5 min čitanjaSavjetnik

Ukratko: PHP End of Life znači: PHP projekt za tu granu više ne isporučuje sigurnosna ažuriranja. PHP2Shell jasno pokazuje posljedice jer za PHP 8.1 i starije nema službenog ispravka, a PHP 8.2 završava 31.12.2026. Tko danas radi na staroj grani, prelazak bi trebao planirati sada, a ne tek kod sljedećeg hitnog slučaja.

Što znači PHP End of Life

Svaku PHP granu, primjerice 8.2 ili 8.3, PHP projekt održava samo ograničeno razdoblje. Najprije postoje ispravci pogrešaka i sigurnosna ažuriranja, kasnije samo sigurnosna ažuriranja. Nakon toga podrška potpuno završava. Aktualna razdoblja objavljuje php.net na stranici o podržanim verzijama.

Nakon kraja podrške softver doduše radi dalje. No ako se otkrije nova ranjivost, od PHP projekta više nema zakrpe. Poslužitelj ostaje ranjiv dok netko drugi ne ispravi ili dok ne prijeđete na podržanu granu.

Za upravu i IT vodstvo to je ponajprije pitanje planiranja. Migracija se može mirno pripremiti. Pod vremenskim pritiskom nakon kritične objave postaje skupa i rizična.

Što PHP2Shell pokazuje o zastarjelim verzijama

PHP projekt je 21.10.2026. objavio zakrpe za dvije kritične ranjivosti, CVE-2026-109618 i CVE-2026-109619. Obje omogućuju izvršavanje zlonamjernog koda izdaleka bez prijave, a ocijenjene su s 9,2 prema CVSS-u v4.0. Prema stručnim medijima pogođene su gotovo sve verzije sve do PHP-a 5.4.

Grana Status prema PHP projektu PHP2Shell ispravak
PHP 8.5 podržana 8.5.12
PHP 8.4 podržana 8.4.27
PHP 8.3 podržana 8.3.36
PHP 8.2 podržana do 31.12.2026. 8.2.35
PHP 8.1, 8.0, 7.4 nema službenih ažuriranja samo minimalni backportovi izvornog koda
PHP 7.3 i starije nema službenih ažuriranja nema backporta PHP projekta

Za 8.1 i starije time ostaje samo put preko backportova distribucija ili pružatelja hostinga. Oni često i dalje prikazuju staru verziju iako su zakrpani. Je li backport primijenjen, obvezujuće može potvrditi samo pružatelj. Pojedinosti su na stranici PHP 8.1 i starije: što sada vrijedi, potpuni pregled na stranici Koje su PHP verzije pogođene?.

Važno

PHP 8.2 je PHP2Shell ispravak još dobio, ali 31.12.2026. dostiže kraj podrške. Tko sada migrira s 8.1, trebao bi odmah ciljati noviju granu.

Rizici zastarjelih PHP verzija ukratko

Sigurnosni rizik je u prvom planu, ali nije jedini. Zastarjele PHP verzije povlače i druge probleme:

  • Nema zakrpa za nove ranjivosti: Svaka buduća slabost ostaje otvorena ili ovisi o backportovima trećih.
  • Zastarjele biblioteke: Aktualni paketi zahtijevaju novije PHP grane. Sigurnosni ispravci u bibliotekama tada se više ne mogu primijeniti, kako pokazuje vodič composer audit.
  • Ovisnost o pružatelju: Pružatelji hostinga za stare verzije djelomično naplaćuju doplatu ili obustavljaju rad. Rok tada određuje pružatelj, a ne Vi.
  • Problemi s dokazivanjem: Prema osiguravateljima, naručiteljima ili kod audita nepodržanu verziju teško je opravdati. Proizlaze li iz toga ugovorne ili pravne posljedice, razjasnite s osiguravateljem ili odvjetnikom.
  • Rastući trud migracije: Što je veća razlika do aktualne verzije, to više koda treba prilagoditi.

Osobito su često pogođeni stariji shop sustavi i dugo nedirani individualni razvoji. Tipičan primjer je Shopware 5, koji često još radi na starijim PHP granama.

Inventura: koje PHP verzije rade kod Vas

Prvi korak je potpuna slika. Na mnogim poslužiteljima paralelno radi više PHP verzija, primjerice za staru web-stranicu koju više nitko nema na umu. Ove naredbe samo čitaju:

# Verzija naredbenog retka
php -v
# Instalirane verzije na Debianu/Ubuntuu
ls /etc/php/
# Instalirane verzije u Pleskui
ls /opt/plesk/php/ 2>/dev/null
# Pokrenuti PHP procesi s verzijom u imenu
ps -eo user,cmd | grep -E "[p]hp-fpm|[p]hp[0-9.]*-cgi|[l]sphp" | sort | uniq -c

Za svaku web-stranicu zabilježite: domenu, verziju PHP-a, način rada, CMS s verzijom, odgovornu osobu. Taj je popis ujedno osnova za Vaš plan za hitne slučajeve. Kod shared hostinga verzije najčešće nalazite u korisničkom izborniku pružatelja hostinga.

Planiranje migracije: kako postupiti

Migracija na podržanu granu u pravilu slijedi iste korake, neovisno o sustavu:

  1. Odrediti cilj: odabrati granu koja prema php.netu ima što dulju podršku i prema sistemskim zahtjevima proizvođača odgovara Vašem CMS-u.
  2. Provjeriti kompatibilnost: CMS, ekstenzije, teme i vlastiti kod. Podaci se nalaze na službenoj stranici pojedinog proizvođača.
  3. Postaviti staging: kopija web-stranice s novom verzijom PHP-a, uključujući bazu podataka.
  4. Testirati: svi važni procesi, od kontaktnog obrasca do procesa narudžbe, uz log pogrešaka na upozorenja.
  5. Prebaciti i ponovno pokrenuti: promijeniti verziju, ponovno pokrenuti sve PHP procese, provjeriti funkciju i log pogrešaka.

Planirajte realistično. Mala web-stranica s aktualnim CMS-om često se brzo prebaci. Shop koji je godinama rastao s mnogo ekstenzija i vlastitim kodom, međutim, može zahtijevati prilagodbu koda i ekstenzija, sve do prelaska na novu glavnu verziju shop sustava. Rano razjasnite tko interno odlučuje, koji je proračun raspoloživ i treba li uključiti vanjske programere.

Odredite i kako ćete ubuduće pratiti krajeve podrške. Fiksni termin u godini u kojem popis svojih web-stranica uspoređujete s podacima na php.netu sprječava da se isto usko grlo ponovno pojavi za dvije godine.

Do prelaska iskoristite privremene mjere php.neta, primjerice session.upload_progress.enabled=0 u konfiguraciji poslužitelja. One nisu potpuna zaštita, ali smanjuju rizik.

Kako PHP SOS konkretno pomaže?

  • Bilježimo sve PHP verzije, načine rada i aplikacije na Vašim poslužiteljima.
  • Ocjenjujemo rizik po web-stranici i s Vama određujemo redoslijed i ciljnu verziju.
  • Do migracije provodimo privremene mjere i od pružatelja ishodimo potvrde o backportovima.
  • Migriramo preko staging okruženja te dokumentiramo test i prelazak.

Tijek opisuje usluga PHP 8.1 i starije: migracija na podržanu verziju.

Česta pitanja

Kada završava podrška za PHP 8.2?

PHP 8.2 dostiže kraj podrške PHP projekta 31.12.2026. PHP2Shell ispravak ta je grana još dobila s verzijom 8.2.35, a za kasnije ranjivosti nakon toga se ne može očekivati službeno ažuriranje.

Dobiva li PHP 8.1 zakrpu protiv PHP2Shella?

PHP projekt za 8.1 i starije više nema službenih ažuriranja. Postoje samo minimalni backportovi izvornog koda za 7.4, 8.0 i 8.1. Hoće li i kako ih Vaš pružatelj hostinga ili distribucija primijeniti, morate pitati kod pružatelja.

Je li stara PHP verzija s backportovima pružatelja hostinga sigurna?

Backportovi mogu zatvoriti konkretne ranjivosti, ali ne zamjenjuju podržanu granu. Ovise o pružatelju, često kasne i ne pokrivaju svaku ranjivost. Kao trajno rješenje stoga nisu prikladni.

Kako znam radi li moj CMS s novom verzijom PHP-a?

Provjerite sistemske zahtjeve na službenoj stranici proizvođača i testirajte u staging okruženju. Za ekstenzije i teme vrijedi isto jer su one često pravo usko grlo.

Izvori

Hitni kontakt

Svaki sat se računa. Pišite nam odmah.

Ukratko opišite sustav, verziju PHP-a i opažanje. Javit ćemo Vam se, razjasniti situaciju i raditi na daljinu dok incident nije zaključen i dokumentiran.

Hitna pomoć