Ukratko: PHP ranjivost jednostavno objašnjena: PHP je softver na web-poslužitelju koji web-stranice sastavlja u trenutku kad ih netko otvori. Kod PHP2Shella PHP u određenim iznimnim slučajevima ne čisti uredno, a to napadači mogu iskoristiti da bez lozinke izvršavaju vlastite naredbe na poslužitelju. Rješenje je ažuriranje PHP-a s naknadnim ponovnim pokretanjem, što u pravilu instalira Vaš pružatelj hostinga ili pružatelj usluga.
Zašto svi baš sada govore o PHP-u
U vijestima se govorilo o „kritičnoj sigurnosnoj ranjivosti“, tijela vlasti isključivala su web-stranice s mreže, BSI (njemački Savezni ured za informacijsku sigurnost) upozoravao je razinom narančasto. Mnogim vlasnicima i zaposlenicima to zvuči prijeteće i istodobno nerazumljivo. Što je PHP i zašto se to tiče baš web-stranice vlastite tvrtke?
Ovaj članak objašnjava stanje bez stručnog žargona. Tko nakon toga želi dublje, tehničko razvrstavanje nalazi na stranici Što je PHP2Shell?.
Što PHP zapravo radi: slika iz svakodnevice
Zamislite svoju web-stranicu kao restoran. Gost je posjetitelj, narudžba je otvaranje stranice. PHP je kuhinja: prima svaku narudžbu, donosi sastojke iz skladišta, dakle iz baze podataka, i servira tanjur, dakle gotovu stranicu.
Da bi išlo brzo, kuhinja ima više kuhara koji jedan za drugim obrađuju mnogo narudžbi. Stručnjaci ih zovu „workeri“. Nakon svake narudžbe radno mjesto treba potpuno pospremiti prije nego što stigne sljedeća.
Na PHP-u radi vrlo mnogo poznatih sustava: WordPress, Shopware, TYPO3, Joomla, Nextcloud i bezbroj vlastitih razvoja. Kako PHP u osnovi funkcionira, objašnjava članak Što je PHP?.
PHP ranjivost jednostavno objašnjena: što kod PHP2Shella pođe krivo
PHP2Shell se sastoji od dvije pogreške. Obje imaju veze s čišćenjem i obje se javljaju samo u iznimnim situacijama.
Prva pogreška (CVE-2026-109618): Ponekad kuhinji usred pripreme ponestane mjesta. Stručnjaci kažu „Out of Memory“, memorija je puna. Tada se rad prekida dok je narudžba tek napola pripremljena. Pri naknadnom čišćenju PHP nedovršene stvari pogrešno smatra gotovima.
Druga pogreška (CVE-2026-109619): Nakon narudžbe na radnom mjestu ostane nešto što je zapravo već trebalo biti uklonjeno. Sljedeća narudžba kod istog kuhara može tome pristupiti prije nego što se ukloni.
U oba slučaja vrijedi: tko točno zna kako izazvati tu iznimnu situaciju, može natjerati kuhinju da radi stvari koje nitko nije naručio. U najgorem slučaju preuzima kontrolu nad poslužiteljem. Lozinka mu za to nije potrebna. Kako se zahtjev u PHP-u obrađuje korak po korak, opisuje članak o životnom ciklusu zahtjeva.
Tehniku ne morate razumjeti da biste ispravno postupili. Odlučujuće je jedno jedino pitanje svom pružatelju hostinga ili pružatelju usluga: Je li PHP na našem poslužitelju ažuriran i ponovno pokrenut i možete li nam to potvrditi pisanim putem?
Najvažniji pojmovi na prvi pogled
| Pojam | Jednostavno objašnjeno |
|---|---|
| PHP | softver na poslužitelju koji web-stranice sastavlja pri otvaranju |
| Sigurnosna ranjivost | pogreška koju stranci mogu iskoristiti |
| CVE broj | na svijetu jedinstvena identifikacijska oznaka sigurnosne ranjivosti |
| CVSS 9.2 | težina na ljestvici do 10; 9.2 smatra se kritičnim |
| Remote Code Execution | stranci mogu izdaljine izvršavati vlastite naredbe na poslužitelju |
| Shell | naredbeni redak kojim se poslužitelj može upravljati |
| Patch | ažuriranje koje otklanja pogrešku |
| Backport | ispravak ugrađen u stariju verziju bez promjene broja verzije |
| Ponovno pokretanje | završiti stare PHP procese kako bi ispravljena verzija doista radila |
Zašto ažuriranje, ponovno pokretanje i provjera idu zajedno
Ostanimo kod restorana. Ažuriranje je nova radna uputa za kuhinju: ubuduće se čisti ovako. Samo što kuhari koji su trenutačno u smjeni i dalje rade po staroj uputi. Nova vrijedi tek kad se smjena izmijeni. Upravo je to ponovno pokretanje: svi stari PHP procesi se završavaju, novi startaju s ispravljenom verzijom. Bez ponovnog pokretanja ažuriranje doduše leži na poslužitelju, ali ne djeluje.
I još nešto pokazuje slika. Nova radna uputa sprječava buduće kvarove, ali ne govori je li u danima prije toga netko neopaženo bio u kuhinji i nešto sakrio. Zato nakon ažuriranja spada provjera tragova, osobito ako je poslužitelj bio dostupan u vremenu između 17. listopada i ažuriranja.
Što sada trebate učiniti: tri tipična polazišta
Što treba učiniti, ovisi o tome gdje se nalazi Vaša web-stranica.
- Vaša web-stranica je kod pružatelja hostinga (zajednički hosting). Pružatelj hostinga PHP ažuriranje u pravilu sam instalira. Vaš zadatak: pribaviti pisanu potvrdu i u izborniku za korisnike provjeriti je li postavljena aktualna PHP verzija. Što je još Vaš zadatak, navodi stranica Zajednički hosting: što radi pružatelj, a što morate Vi.
- Web-stranicu vodi agencija ili IT pružatelj usluga. Pitajte ih je li ažuriranje instalirano i je li PHP ponovno pokrenut te ih zamolite za kratku provjeru neobičnosti.
- Imate vlastiti poslužitelj. Tada ste Vi sami ili Vaš IT odgovorni: ažurirati PHP, ponovno pokrenuti sve PHP procese, sigurnosno pohraniti logove od 20. listopada i provjeriti tragove.
U sva tri slučaja vrijedi: ažuriranje WordPressa ili drugog sustava na web-stranici ne zatvara ranjivost. A ažuriranje ne dokazuje da se prije nije ništa dogodilo.
Kako PHP SOS konkretno pomaže?
- Razumljivo objasniti: Jasnim riječima kažemo Vam jesu li i kako Vaši sustavi pogođeni.
- Razgovarati s pružateljem hostinga: Na Vašu želju razjašnjavamo razinu zakrpe izravno s Vašim pružateljem hostinga ili pružateljem usluga.
- Ažurirati i provjeriti: Kod vlastitih poslužitelja instaliramo ažuriranje, ponovno pokrećemo PHP i provjeravamo tragove.
- Zabilježiti pisanim putem: Dobivate kratku dokumentaciju stanja.
Više na PHP2Shell hitna pomoć.
Zaključak
PHP2Shell zvuči komplicirano, ali stanje u jezgri nije: kuhinja Vaše web-stranice u iznimnim slučajevima ne čisti kako treba i to se može iskoristiti. Ažuriranje to popravlja. Vaš je zadatak osigurati da je instalirano, aktivirano i dokazano te u sumnji dati provjeriti je li netko prije bio u kuhinji.
Česta pitanja
Što je PHP jednostavnim riječima?
PHP je programski jezik koji radi na web-poslužitelju. Kad otvorite stranicu, PHP je u tom trenutku sastavlja, primjerice s aktualnim proizvodima, cijenama ili Vašom košaricom, i šalje je Vašem pregledniku.
Pogađa li to moju web-stranicu ako koristim WordPress?
WordPress radi s PHP-om, pa poslužitelj ispod njega možda jest pogođen. Je li Vaša web-stranica ugrožena, ovisi o PHP stanju na poslužitelju, a ne o verziji WordPressa. Pitajte svog pružatelja hostinga ili pružatelja usluga o PHP ažuriranju.
Mogu li kao posjetitelj web-stranice biti ugrožen?
Ranjivost pogađa poslužitelje, a ne računala posjetitelja. Ako se poslužitelj preuzme, napadači bi međutim mogli primjerice mijenjati sadržaj ili preusmjeravati posjetitelje na tuđe stranice. Zato je ažuriranje važno za operatere.
Što znači naziv PHP2Shell?
Opisuje moguću posljedicu: putem PHP-a napadač u najgorem slučaju može dobiti shell, dakle neku vrstu daljinskog upravljanja poslužiteljem. Službene oznake su CVE-2026-109618 i CVE-2026-109619.