U utorak i srijedu, 20. i 21. listopada 2026., dogodila se jedna od najozbiljnijih sigurnosnih priča u povijesti weba. U samom PHP-u, jeziku na kojem radi WordPress i velika većina stranica na internetu, pronađene su dvije kritične ranjivosti. Dobile su ime PHP2Shell, a službene oznake CVE-2026-109618 i CVE-2026-109619.
Odmah ono najvažnije: svi klijenti Siitea su sigurni. Stranice naših klijenata koje rade na PHP-u ažurirali smo u rekordnom roku nakon što je zakrpa objavljena, a stranice koje smo izradili u Astru ovaj problem nije ni dotaknuo. Na njima nije bilo što zakrpati.
U nastavku objašnjavamo što se točno dogodilo, zašto je ovo drukčije od uobičajenih vijesti o “još jednom propustu u WordPressu”, što napraviti ako imate PHP stranicu kod nekog drugog i zašto je ovo jedan od razloga zbog kojih većini firmi danas preporučujemo stranicu izrađenu u Astru.
Što je PHP2Shell, jednostavno rečeno
PHP je programski jezik koji radi na poslužitelju. Kad netko otvori stranicu izrađenu na WordPressu, Drupalu, Joomli, WooCommerceu ili Magentu, poslužitelj pokrene PHP, PHP složi stranicu i pošalje je posjetitelju. To se događa pri svakom posjetu, za svakog posjetitelja.
Prema podacima istraživača iz tvrtke Wiz, PHP pokreće oko 70 % svih stranica na svijetu. Istraživač Silas Cutler procjenjuje da je na internetu izloženo više od 1,3 milijuna poslužitelja s ranjivom verzijom PHP-a. Zato je propust u samom PHP-u puno veća stvar od propusta u jednom dodatku ili jednoj temi.
Obje ranjivosti imaju isti korijen. Kad PHP usred obrade zahtjeva ostane bez memorije ili naiđe na kobnu grešku, iza sebe može ostaviti nedovršene podatke i pokazivače na memoriju koja je već oslobođena. Isti PHP proces zatim obrađuje sljedeći zahtjev i povjeruje tim ostacima kao da su ispravni. Napadač koji namjerno izazove takvu grešku i zatim pošalje pažljivo složen zahtjev može:
- pokrenuti vlastiti kod na poslužitelju, bez lozinke i bez prijave. To znači preuzeti stranicu, postaviti skrivena vrata, ubaciti zlonamjerni kod ili preusmjeriti posjetitelje
- pročitati dijelove memorije poslužitelja, slično poznatom propustu Heartbleed iz 2014. U toj memoriji mogu biti lozinke, tokeni za prijavu, API ključevi i certifikati iz tuđih zahtjeva
PHP-ov sigurnosni tim ocijenio je ozbiljnost s 9,2 od 10, a sigurnosna tvrtka watchTowr s punih 10.
Zašto je ovo ozbiljnije od uobičajenog propusta
Većina vijesti o sigurnosti WordPressa odnosi se na pojedine dodatke. Takav problem rješava se ažuriranjem ili brisanjem tog dodatka, o čemu smo pisali u članku o dodacima koje treba izbaciti s WordPressa. PHP2Shell je drukčiji iz pet razloga.
Propust je ispod aplikacije, ne u njoj. Prema PHP-ovoj službenoj objavi, na poslužitelju s Apacheom i modulom mod_php napad radi prije nego što se izvrši ijedan redak koda same stranice. Istraživači su ga pokazali na najnovijim verzijama WordPressa, Drupala i Joomle, ali i na stranici koja ispisuje samo “Hello World”. Uredan WordPress s ažurnim dodacima i dobrim sigurnosnim dodatkom ovdje ne pomaže, jer se napad događa razinu niže.
Pogađa gotovo sve verzije. Ranjive su sve verzije PHP-a od 5.4 nadalje, dakle sve izdane u zadnjih desetak godina. Službena izdanja sa zakrpom izašla su samo za verzije koje se još održavaju: PHP 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Za PHP 7.4, 8.0 i 8.1 PHP tim objavio je samo popravak izvornog koda, koji hosting mora sam ugraditi, a dobro održavani Linux poslužitelji dobivaju ga kroz redovna ažuriranja sustava. Za PHP 7.3 i starije zakrpe nema uopće. Stranica na PHP-u 8.1 ili starijem zato je sigurna samo onoliko koliko je pažljiv njezin hosting, a takvih stranica u Hrvatskoj ima mnogo, posebno među starijim WordPress instalacijama koje nitko nije dirao godinama. Ni PHP 8.2 nema puno vremena: održava se samo do 31. prosinca 2026.
Detalji su procurili prije zakrpe. Plan je bio uobičajen: istraživači prijave propust, PHP tim pripremi zakrpu, svi je objave isti dan. Umjesto toga, 20. listopada se na internetu pojavila objava s detaljima, dan prije službenog izdanja. Napadači su tako dobili prednost, a vlasnici stranica su zakrpu dobili tek 21. listopada u 14 sati po UTC-u, odnosno u 16 sati po našem vremenu. Amazonov sigurnosni tim pritom je pokušaj napada na svoj poslužitelj mamac zabilježio već 17. listopada, četiri dana prije zakrpe. Kako je napadač došao do podataka, ne zna se.
Napadi su već počeli. Od 21. listopada tvrtke watchTowr i Cloudflare bilježe stvarne pokušaje napada, a Amazon ih je vidio od više različitih napadača. Slika zasad nije potpuno jasna: PHP Foundation u trenutku objave nije pronašao nijedan javno objavljen napadački kod koji stvarno radi, tvrtka Huntress na sustavima svojih klijenata napade još nije vidjela, a američka agencija CISA propuste još nije uvrstila na popis aktivno iskorištavanih. Ali pokušaji su tu, a čekati da se slika razjasni nije dobra strategija.
Pronašla ga je umjetna inteligencija. Istraživač iz tvrtke Calif pronašao je propuste uz pomoć OpenAI-jeva modela tijekom pregleda PHP-ova izvornog koda, a tim iz Wiza neovisno je došao do istih problema svojim alatima. PHP Foundation u svojoj objavi to kaže izravno: alati danas pronalaze greške brže nego ikad, i braniteljima i napadačima. To znači da ovo nije posljednji ovakav događaj, nego početak razdoblja u kojem će ih biti više.
Kako smo reagirali za naše klijente
Kad je stigla najava hitnog izdanja, za sve klijentske stranice koje rade na PHP-u već smo znali na kojoj verziji PHP-a i na kojem poslužitelju rade. To nije slučajnost. Za svaku stranicu koju održavamo vodimo popis onoga na čemu radi, upravo zato da u ovakvom trenutku ne bismo morali tek otkrivati što imamo.
Čim su zakrpe objavljene, ažurirali smo PHP na svim tim stranicama i provjerili da sve radi kako treba. Klijenti nisu morali ništa napraviti, ništa zvati i ni o čemu odlučivati. Tako bi i trebalo biti: sigurnost stranice je naš posao, ne vaš.
Stranice koje smo izradili u Astru nismo morali dirati. Na njima PHP ne postoji, pa nije postojalo ni što zakrpati.
Zašto Astro stranicu ovaj napad ne može dotaknuti
Kod WordPress stranice poslužitelj pri svakom posjetu pokreće program: PHP čita bazu podataka, slaže stranicu i šalje je. Svaki posjetitelj, a time i svaki napadač, razgovara s programom koji radi na poslužitelju. PHP2Shell je napad upravo na taj program.
Astro radi obrnuto. Stranica se složi jednom, kad je objavljujemo, a ne pri svakom posjetu. Rezultat su gotove HTML datoteke koje se šalju posjetiteljima iz globalne mreže poslužitelja, na isti način kao slika ili PDF. Kad netko otvori Astro stranicu, ne pokreće se nikakav PHP, nikakva baza podataka i nikakav kod koji obrađuje njegov zahtjev.
Za napad poput PHP2Shella napadaču treba program koji će obraditi njegov zlonamjerni zahtjev. Na statičnoj Astro stranici takvog programa nema. Nema PHP-a koji bi ostao bez memorije, nema procesa koji bi zapamtio ostatke prethodnog zahtjeva i nema memorije s lozinkama koju bi netko mogao pročitati. Napad nema na što ciljati.
Ista logika vrijedi i šire od ovog konkretnog propusta. Kod WordPress stranice sigurnost ovisi o PHP-u, o poslužitelju, o bazi podataka, o samom WordPressu, o temi i o svakom od desetak ili više dodataka. Svaki od njih treba redovito ažurirati i svaki je moguća ulazna točka. Kod Astro stranice većina tog popisa jednostavno ne postoji.
Da budemo pošteni: nijedna stranica nije neprobojna u svakom smislu. Astro stranica i dalje ima domenu, DNS, obrasce za kontakt i skripte poput Google Analyticsa, i o svemu tome brinemo mi. Razlika je u tome koliko je vrata otvoreno. Kod tipične WordPress stranice otvorena su stalno, prema cijelom internetu. Kod Astro stranice najveći dio njih uopće nije ugrađen.
I ova stranica, siite.hr, izrađena je u Astru, iz istog razloga.
Brzina i mir, a ne samo sigurnost
Sigurnost je danas najglasniji argument, ali nije jedini razlog zbog kojeg većini firmi preporučujemo Astro.
Stranica se učitava brzo. Gotova HTML datoteka poslana s poslužitelja blizu posjetitelja dolazi brže od stranice koju poslužitelj tek mora složiti. Astro uz to po zadanom ne šalje JavaScript u preglednik, osim tamo gdje je stvarno potreban, primjerice za obrazac ili kalkulator. Rezultat su stranice koje dobro prolaze Googleove Core Web Vitals mjere, a to se vidi i u pretrazi i u broju posjetitelja koji ne odu prije nego što se stranica učita.
Nema stalnog održavanja dodataka. Nema obavijesti da je dvanaest dodataka zastarjelo, nema straha da će ažuriranje jednog srušiti drugi i nema “hitnog ažuriranja” u petak navečer. Stranica radi i sutra jednako kao danas.
Promet ne ruši stranicu. Ako vas spomenu u medijima ili pokrenete kampanju, statična stranica podnosi nagli rast posjeta bez usporavanja, jer poslužitelj ne mora ništa računati.
Sadržaj se i dalje lako uređuje. Astro nije samo za programere. Tekstove, članke i slike može uređivati i vaš tim, kroz jednostavno sučelje koje postavimo uz stranicu.
Kad Astro nije pravi izbor
Ne preporučujemo Astro za sve. Za velik webshop s tisućama proizvoda, skladištem i složenom naplatom bolji je izbor platforma poput Shopifyja, gdje sigurnost poslužitelja preuzima sam Shopify. Za složenu web aplikaciju s korisničkim računima treba arhitektura po mjeri. Ako firma ima ozbiljan razlog ostati na WordPressu, pokazat ćemo kako ga održavati sigurnim ili kako ga koristiti samo kao sučelje za uređivanje sadržaja, dok posjetitelji dobivaju statične stranice.
Ali za veliku većinu firmi, onih kojima stranica treba predstaviti usluge, donijeti upite i dobro rangirati na Googleu, Astro je danas najbolji izbor. Brz je, siguran i ne traži stalnu brigu. Više o tome kako odlučujemo pročitajte u članku WordPress ili razvoj po mjeri.
Imate PHP stranicu kod nekog drugog? Ovo napravite danas
Ako vaša stranica radi na WordPressu, WooCommerceu, Joomli ili bilo kojem drugom PHP sustavu, a ne održavamo je mi, ovo je redoslijed:
- Saznajte verziju PHP-a. Piše u upravljačkoj ploči hostinga (cPanel, Plesk ili slično), a u WordPressu pod Alati, Zdravlje web-stranice, Informacije, Poslužitelj.
- Ako je verzija 8.2, 8.3, 8.4 ili 8.5, provjerite je li ažurirana na 8.2.35, 8.3.36, 8.4.27 ili 8.5.12. Na dijeljenom hostingu to radi hosting tvrtka, pa ih pitajte izravno i tražite potvrdu u pisanom obliku.
- Ako je verzija 8.1 ili starija, službenog izdanja sa zakrpom nema. Za 7.4, 8.0 i 8.1 postoji popravak koji hosting može ugraditi ili ga je dobio kroz ažuriranje sustava, pa pitajte je li to napravljeno. Za 7.3 i starije nema ničega. U svakom slučaju stranicu treba prebaciti na podržanu verziju, a to kod starijih instalacija često znači i ažuriranje teme i dodataka. Ne odgađajte.
- Ažuriranje dodataka i samog WordPressa ovdje ne pomaže. Propust je u PHP-u, ne u WordPressu.
- Ako postoji sumnja da je stranica napadnuta od 17. listopada do trenutka ažuriranja, pregledajte datoteke na poslužitelju zbog novih ili nepoznatih datoteka, provjerite korisničke račune i zakazane zadatke. Zbog curenja memorije promijenite lozinke administratora i baze podataka te API ključeve koje stranica koristi, primjerice za plaćanje ili slanje e-pošte.
- Cloudflare i privremene mjere pomažu, ali nisu rješenje. Cloudflare i drugi pružatelji brzo su uveli pravila koja blokiraju poznate oblike napada. Tko sam upravlja poslužiteljem i ne može odmah ažurirati, može prema uputama PHP tima isključiti postavku
session.upload_progress.enabledte ograničiti veličinu zahtjeva i potrošnju memorije. PHP tim je jasan: ništa od toga ne čini instalaciju sigurnom, a jedino potpuno rješenje je ažuriranje PHP-a.
Ako niste sigurni ni na čemu vam stranica radi ni tko je održava, to je samo po sebi odgovor na pitanje treba li to promijeniti.
Što ovaj tjedan govori o tome kako biramo tehnologiju
Lako je izabrati tehnologiju po tome što je najpoznatija ili što je programer navikao koristiti. Mi biramo po tome što će stranica značiti za klijenta za tri godine: hoće li biti brza, hoće li netko morati stalno paziti na nju i što se događa kad se na drugom kraju svijeta otkrije propust poput ovog.
PHP2Shell je dobar primjer zašto to razmišljanje ima smisla. Klijenti s Astro stranicama ovaj su tjedan proveli kao i svaki drugi. Klijenti s PHP stranicama koje održavamo ažurirani su bez da su o tome morali razmišljati. Upravo zato tako radimo.
Ako želite znati koliko je vaša trenutna stranica izložena, ili razmišljate o prelasku na Astro, javite nam se. Pogledat ćemo na čemu stranica radi i reći vam iskreno ima li prelazak smisla za vašu firmu.
Izvori: službena objava PHP-a, analiza tvrtke Wiz, objava PHP Foundationa, Cloudflareova objava o zaštiti, Tenableova česta pitanja i watchTowrova česta pitanja.
