Merimo dvakrat, objavimo enkrat.

NASVET·Ekipa Carpolab·

Ranljivost php2shell: je vaša spletna stran varna?

Ranljivost php2shell: je vaša spletna stran varna?

Če vaša spletna stran teče na PHP, kar velja za skoraj vsako stran na WordPressu, Joomli, Drupalu ali WooCommerce, je bila do 21. oktobra 2026 odprta za napad, pri katerem napadalec ne potrebuje ne gesla ne uporabniškega računa. Varna je šele, ko na strežniku teče popravljena različica PHP. Popravek obstaja, a ga mora nekdo namestiti, in pri večini malih strani tega ne naredi nihče.

Kaj se je zgodilo

PHP je jezik, v katerem je napisana večina spletnih strani na svetu. Po podatkih W3Techs ga uporablja 69,3 odstotka strani, pri katerih je strežniški jezik znan. Na njem tečejo WordPress, Joomla, Drupal, Magento in velik del spletnih trgovin, ki jih srečate pri nas.

  1. oktobra je ekipa PHP napovedala nujno varnostno izdajo, 21. oktobra pa je objavila popravke za dve ranljivosti z oznakama CVE-2026-109618 in CVE-2026-109619. Raziskovalci so ju poimenovali php2shell. Obe sta ocenjeni z 9,2 od 10, kar je kritična stopnja. Obe omogočata, da napadalec prek navadne spletne zahteve na strežniku požene svojo kodo, ne da bi se moral kamorkoli prijaviti.

Prizadete so različice od PHP 5.4 do 8.5, torej praktično vse, ki so bile v uporabi zadnjih dvanajst let. Popravljene so različice 8.5.12, 8.4.27, 8.3.36 in 8.2.35. Starejše različice redne podpore nimajo več: za 7.4, 8.0 in 8.1 je ekipa PHP pripravila le popravke izvorne kode, ki jih mora nekdo sam vgraditi, za še starejše pa nič.

Zakaj je to resneje od običajnega opozorila

Varnostnih opozoril je veliko in večina se vas ne tiče. Tokrat je drugače, iz treh razlogov.

Napadalec ne potrebuje dostopa. Pri večini ranljivosti mora imeti napadalec vsaj uporabniški račun ali pa mora stran uporabljati določen vtičnik. Tu zadošča, da strežnik sprejema spletne zahteve. Ekipa PHP piše, da so ogrožene vse namestitve, ki strežejo spletne strani.

Napadi so se začeli pred objavo. Podrobnosti so prišle v javnost še pred napovedano izdajo. Amazonova služba za grožnje je prvi poskus izkoriščanja zaznala že 17. oktobra, štiri dni pred objavo popravka. Amazon poroča, da napadalci ranljivost zdaj izkoriščajo v velikem obsegu. Amazon svetuje, da kdor preverja svoje strežnike, gleda nazaj vsaj do 17. oktobra, ne od dneva objave.

Ni zanesljive začasne rešitve. Ekipa PHP je objavila nekaj nastavitev, ki tveganje zmanjšajo, a izrecno piše, da strežnika ne naredijo varnega. Edina varna izbira je posodobitev.

Kako resno so to vzeli drugje, pove podatek, da so nekatere države in ustanove svoje strani za nekaj časa raje umaknile s spleta, med njimi nizozemski državni portal in javne spletne storitve finske države.

Kaj napadalec dobi, ko pride noter

Ko napadalec lahko na strežniku požene svojo kodo, ima v rokah vse, do česar ima dostop vaša stran. To pomeni podatke strank iz kontaktnih obrazcev, naročila in naslove iz spletne trgovine ter gesla uporabnikov, ki so shranjena v bazi.

Najpogosteje pa vdora sploh ne opazite. Stran deluje naprej, napadalec pa vanjo vgradi skrita vrata, prek katerih se vrača tudi po tem, ko je PHP že posodobljen. Posodobitev zapre vhod, ne odstrani pa tistega, kar je napadalec morda že pustil za sabo.

Posledice, ki jih lastniki opazijo šele pozneje, so znane: Google stran označi kot nevarno in v iskalniku pred njo opozarja obiskovalce, gostitelj račun zaradi pošiljanja neželene pošte izklopi, maili s strani začnejo končevati v vsiljeni pošti, stranke pa dobijo sporočila v vašem imenu, ki jih niste poslali. Ker vaša stran obdeluje osebne podatke, je vdor lahko tudi kršitev varstva osebnih podatkov, ki jo je treba po GDPR praviloma v 72 urah prijaviti Informacijskemu pooblaščencu.

Kako preverite, ali ste izpostavljeni

Nekaj stvari lahko preverite sami v desetih minutah:

  • Ali vaša stran sploh teče na PHP? Če je narejena v WordPressu, Joomli, Drupalu, WooCommerce, PrestaShopu ali Magentu, je odgovor da.
  • Katera različica PHP teče na strežniku? V WordPressu jo najdete pod Orodja, Zdravje spletišča, zavihek Podrobnosti, razdelek Strežnik. Če je številka nižja od 8.2.35, 8.3.36, 8.4.27 oziroma 8.5.12 za vašo vejo, strežnik ni popravljen. Če je različica 8.1 ali starejša, redne posodobitve zanjo ni, kar je težava sama po sebi.
  • Kdo skrbi za strežnik? Pri deljenem gostovanju PHP posodablja gostitelj, ne vi. Nekateri večji gostitelji so ukrepali še pred objavo in vključili zaščitna pravila na vseh svojih strežnikih, za manjše ponudnike pa tega ne veste, dokler ne vprašate. Pri lastnem ali virtualnem strežniku je posodobitev v celoti vaša odgovornost.
  • Kdaj se je kdo nazadnje dotaknil strani? Če je odgovor »ko je bila narejena«, je zelo verjetno, da so zastareli tudi WordPress, vtičniki in tema. php2shell je v tem primeru le ena od odprtih vrat.

Če na katero od teh vprašanj ne znate odgovoriti, je to že odgovor. Stran, za katero ne veste, kdo jo posodablja, v praksi ne posodablja nihče.

Zakaj »gostitelj bo že poskrbel« ni dovolj

Tudi ko gostitelj PHP posodobi, ostaneta dve vprašanji, na kateri ne odgovori nihče namesto vas.

Prvo je, ali je bila stran napadena v dneh med 17. in 21. oktobrom ali pozneje, preden je prišla posodobitev. Gostitelj zamenja PHP, ne pregleduje pa vsebine vaše strani. Skrita vrata, ki jih je napadalec pustil, ostanejo tam.

Drugo je, ali stran po posodobitvi še deluje, kot mora. Starejše teme in vtičniki ob menjavi različice PHP radi odpovedo: kontaktni obrazec neha pošiljati, košarica se ne odpre ali pa stran pokaže belo prazno okno. Pogosto to opazi stranka, ne lastnik.

In še ena past: PHP 8.2 izgubi varnostne popravke 31. decembra 2026. Kdor je zdaj na 8.2, bo isto vprašanje reševal čez dva meseca znova, takrat brez rednih varnostnih popravkov.

Pogosta vprašanja

Imam majhno stran brez spletne trgovine. Ali sem res tarča?

Da. Napadalci ne izbirajo strani ročno, ampak samodejno pregledujejo celoten splet in napadejo vsak strežnik, ki se odzove. Majhna stran je zanje uporabna kot izhodišče za pošiljanje neželene pošte ali za napade na druge.

Moj gostitelj pravi, da je PHP posodobil. Je s tem vse urejeno?

Vhod je zaprt. Ni pa nujno, da je stran čista, če je bila pred posodobitvijo nekaj dni izpostavljena. Prav tako ni nujno, da po posodobitvi vse deluje, posebej pri starejših vtičnikih in temah.

Kako vem, ali je bila moja stran že napadena?

Po zunanjem videzu pogosto ne. Stran lahko deluje povsem normalno. Znaki so neznane datoteke na strežniku, novi skrbniški računi, ki jih niste ustvarili, ali nenadne spremembe v prometu in pošti. Za zanesljiv odgovor je treba pregledati strežnik.

Koliko stane, da to uredite?

Odvisno od tega, na čem stran teče in v kakšnem stanju je. Okvirno ceno za skrbništvo ali prenovo vidite v kalkulatorju, za pregled vaše strani pa nam pišite.

Kaj zdaj

Če ne veste, na kateri različici PHP teče vaša stran ali kdo jo posodablja, je zdaj pravi trenutek, da to izveste. Pošljite nam naslov strani prek kontaktnega obrazca. Pogledali bomo, ali je izpostavljena, in vam povedali, kaj je treba narediti, preden se oglasi Google z opozorilom ali stranka z vprašanjem, zakaj je dobila čuden mail v vašem imenu.

Več novic

Preberi vse →

Vsak nov članek v vaš nabiralnik

Vsak nov članek v vaš nabiralnik

Koliko stane vaša stran?

Odgovorite na nekaj vprašanj in v minuti dobite okvirno ceno. Brez registracije.

Izračunaj ceno →
Fiksna cena, dogovorjena vnaprejJasen rok, dogovorjen vnaprejStran in domena ostaneta vaši