Včeraj so v javnost ušle podrobnosti o dveh kritičnih ranljivostih v PHP-ju. Danes so izšli popravki. Napadi so se že začeli.

Če vaša spletna stran teče na WordPressu, WooCommerceu, Joomli, Drupalu ali Magentu, to zadeva vas. PHP poganja velik del spleta, in ta napaka je v samem jedru jezika, ne v pluginu ali temi.

Kaj se je zgodilo

Ranljivosti nosita oznaki CVE-2026-109618 in CVE-2026-109619, skupaj pa ju imenujejo PHP2Shell. Obe imata oceno resnosti 9,2 od 10 (CVSS v4.0).

Ključno je to: napadalec se ne potrebuje prijaviti. En sam zlonamerni zahtevek na vaš strežnik lahko zadostuje, da na njem zažene svojo kodo. Pri nastavitvah z mod_php se to lahko zgodi, še preden se sploh zažene koda vaše strani.

Varnostna ekipa PHP je popravke načrtovala za 22. oktober. Ko so 20. oktobra oznake ranljivosti predčasno ušle v javnost, so izid prestavili na 21. oktober. Cloudflare in watchTowr že poročata o prvih poskusih napadov. Raziskovalci podjetja Calif so potrdili, da je napad mogoč na določenih verzijah WordPressa, Drupala, Joomle in Magenta.

Kdo je ogrožen

Po navedbah ekipe PHP je ogrožena vsaka PHP namestitev, ki streže spletne zahtevke. Ne glede na to, ali gre za PHP-FPM, Apache z mod_php, php-cgi, FrankenPHP ali LiteSpeed.

Prizadete so verzije vse od PHP 5.4 naprej. Popravki so na voljo v teh verzijah:

Veja PHP Stanje
8.5 Popravljeno v 8.5.12
8.4 Popravljeno v 8.4.27
8.3 Popravljeno v 8.3.36
8.2 Popravljeno v 8.2.35
7.4 do 8.1 Ni uradne verzije, le popravki izvorne kode
5.4 do 7.3 Ni popravka

Najbolj izpostavljene so stare strani. PHP 8.1 je podporo izgubil konec leta 2025, PHP 7.4 že leta 2022. Če vaša stran še teče na eni od teh verzij, ponudnik gostovanja pa popravkov ni ročno vgradil, je stran odprta.

Kaj narediti danes

Ugotovite, katero verzijo PHP uporabljate

V WordPressu jo najdete pod Orodja → Zdravje strani → Informacije → Strežnik. Pri večini ponudnikov gostovanja je navedena tudi v nadzorni plošči (cPanel, Plesk ali lastni vmesnik). Če je ne najdete, vprašajte ponudnika.

Vprašajte ponudnika gostovanja, ali je popravek nameščen

Pri deljenem gostovanju PHP posodablja ponudnik, ne vi. Večji ponudniki so popravke dobili vnaprej in jih nameščajo že danes. Ne predpostavljajte pa, da je to urejeno. Pošljite kratko vprašanje: “Ali je PHP na mojem računu posodobljen zaradi CVE-2026-109618 in CVE-2026-109619?”

Če imate lasten strežnik, posodobite takoj

Namestite popravljeno verzijo iz paketov vaše distribucije in ponovno zaženite vse PHP procese. Popravek ne deluje, dokler stari procesi še tečejo.

Če posodobitve ne morete izvesti takoj, ekipa PHP navaja začasne ukrepe, na primer session.upload_progress.enabled=0 za drugo ranljivost. Ti ukrepi tveganje zmanjšajo, stran pa ne postane varna. Edina prava rešitev je posodobitev.

Prehod na podprto verzijo

Če stran teče na PHP 8.1 ali starejšem, je zdaj pravi čas za prehod na 8.3 ali novejšo. Najprej preverite, ali so vaša tema in plugini združljivi, in prehod izvedite na testni kopiji strani, ne v živo.

Kako ravnati previdno, ko izbruhne taka novica

Ob vsaki večji ranljivosti se ponovijo iste napake. Nekaj pravil, ki veljajo tudi za naslednjič:

Ne prenašajte “testne” kode z interneta. Po spletu že krožijo domnevni primeri napadov, ki jih nihče ni preveril. Ekipa PHP opozarja, da lahko vsebujejo zlonamerno kodo. Če niste varnostni strokovnjak, jih ne poganjajte.

Pazite na lažna opozorila. Napadalci izkoristijo paniko. E-pošta “vaša stran je ogrožena, kliknite tukaj” je pogosto sama napad. Ponudnika gostovanja kontaktirajte prek njegove uradne strani, ne prek povezave iz sporočila.

Preverite, ali je že prepozno. Znaki vdora so novi administratorski računi, ki jih niste ustvarili, neznane datoteke na strežniku, preusmeritve na tuje strani in nenadna opozorila Googla. Če opazite karkoli od tega, posodobitev ni dovolj. Stran je treba očistiti.

Imejte varnostno kopijo, ki ni na istem strežniku. Če napadalec prevzame strežnik, prevzame tudi kopije na njem. Kopija mora biti drugje in mora biti preverjena.

Požarni zid pomaga, ne reši. Cloudflare je že dodal pravila, ki blokirajo znane oblike napada, tudi na brezplačnem paketu. To je dobra prva obramba, a le za promet, ki gre prek Cloudflarea, in le za znane različice napada.

Lekcija, ki presega ta teden

PHP2Shell ni zadnja ranljivost. Raziskovalci napovedujejo dolg rep nevzdrževanih strani, ki ne bodo nikoli posodobljene. Te bodo tarča še mesece.

Večina vdorov ni posledica genialnih napadalcev, ampak strani, za katere nihče ni odgovoren. Stran je bila narejena pred petimi leti, agencije ni več, dostopi so pri bivšem zaposlenem, PHP pa je ostal na verziji iz leta 2020.

Zato si zastavite dve vprašanji. Kdo skrbi za posodobitve vaše strani? In koliko delov vaše strani je izpostavljenih? Vsak plugin, vsaka verzija PHP in vsaka baza podatkov je del, ki ga je treba vzdrževati.

Statične strani, kot jih gradimo v Astru in gostimo na Cloudflareu, PHP-ja na strežniku sploh ne uporabljajo. Na takih straneh ranljivosti, kot je PHP2Shell, nimajo česa napasti. To ni razlog, da bi vsako stran zavrgli, je pa razlog, da ob naslednji prenovi razmislite, ali vaša predstavitvena stran res potrebuje strežnik, ki ga je treba krpati.

Kako vam lahko pomagamo

Če niste prepričani, ali je vaša stran ogrožena, nam pišite. Pri WebZone lahko:

  • preverimo verzijo PHP in stanje vaše strani ter vam povemo, ali je potrebno ukrepanje,
  • posodobimo PHP, temo in plugine na testni kopiji in nato varno v živo,
  • pregledamo znake vdora in stran očistimo, če je do njega že prišlo,
  • prevzamemo redno vzdrževanje, da za varnostne posodobitve ne izveste iz novic,
  • pripravimo prehod na statično stran, kjer ima to smisel.

Kontaktirajte nas še danes. Pri ranljivosti, ki se že izkorišča, vsak dan šteje.