Na kratko: Ali ste zaradi PHP2Shell prizadeti, je odvisno od treh stvari: različice PHP, načina delovanja in tega, ali in kako je bil nameščen popravek. Če niste prepričani, se javite zdaj. Ste prizadeti? Pokličite nas. Pomagamo. To razjasnimo na daljavo na samem strežniku, ne po občutku, in ranljivost zapremo, če je odprta.
Zdaj ničesar ne brišite in ničesar ne postavljajte znova. Tudi če želite le razjasniti, ali ste prizadeti: če je bil strežnik morda že napaden, potrebujemo datoteke in dnevnike nespremenjene. Prijavite nujni primer, nato preverjanje opravimo skupaj.
Ste prizadeti? Ti primeri sodijo na kontrolni seznam
PHP2Shell sta dve kritični ranljivosti v samem PHP-ju (CVE-2026-109618 in CVE-2026-109619, obe z najvišjo oceno 9,2 po CVSS v4.0). Omogočata izvedbo škodljive kode od daleč brez prijave. Prizadeti so lahko vsi načini delovanja: PHP-FPM, Apache z mod_php, php-cgi, FrankenPHP in LiteSpeed. Preverite vsak od teh sistemov:
- lastni strežniki, strežniki vServer in korenski strežniki (root) s PHP
- paketi gostovanja in upravljani strežniki, tudi če nimate dostopa do konfiguracije
- vsebniki in platformne storitve, ki prinašajo sliko PHP
- testni sistemi, okolja za pripravo (staging) in pozabljeni stari sistemi, ki so dosegljivi z interneta
- naprave NAS, aplikacije (appliance) ali programska oprema ponudnikov, ki interno uporablja PHP
Tveganje so prav pozabljeni sistemi. Po podatkih Unit 42 je več kot 22,6 milijona izpostavljenih, potencialno ranljivih primerkov, BSI pa je pričakoval hitro in obsežno izkoriščanje.
Kaj storite takoj
- Vzpostavite popis. Zapišite vse strežnike, domene in pogodbe o gostovanju, na katerih teče PHP, in kdo je za to odgovoren.
- Ugotovite različico PHP za vsak sistem. Na strežnikih z
php -v. Upoštevajte, da lahko ukazna vrstica uporablja drugo različico kot spletni strežnik. - Razjasnite način delovanja. Ali PHP teče kot PHP-FPM, kot mod_php ali prek LiteSpeed? Pri mod_php ekipa PHP tveganje ocenjuje kot najvišje.
- Vprašajte ponudnika gostovanja in izvajalce. Pisno: katera različica teče, ali je bil popravek nameščen, ali so bili vsi procesi znova zagnani?
- Ohranite dnevnike. Strokovni tisk svetuje ohranitev dnevnikov od 20. 10. 2026 naprej.
- Ne čakajte dolgo. Če je sistem odprt in popravek ni takoj mogoč, BSI priporoča, da spletni strežnik začasno odklopite z omrežja.
Kako konkretno pomaga PHP SOS?
Prizadetost razjasnimo na daljavo in z dokazi.
- Ocena stanja: Prisluhnemo vašemu popisu in sisteme razvrstimo po dosegljivosti in tveganju.
- Zavarovanje in zapiranje: Kjer je odprto, najprej zavarujemo stanje, nato ranljivost zapremo s posodobitvijo in ponovnim zagonom. Kjer to ni takoj mogoče, uvedemo prehodne ukrepe, ki niso popolna zaščita.
- Preverjanje in čiščenje: Preverimo, ali je bila ranljivost pred popravkom izkoriščena, in po potrebi očistimo. Jasno ločimo, ali je strežnik prizadet in morda že napaden.
- Utrjevanje in poročilo: Prejmete seznam po sistemih: različica, način delovanja, dokaz o popravku, odprte točke.
Kako dokažete prizadetost
Številka različice sama ne zadostuje, ker ponudniki popravke prenašajo nazaj. Ubuntu 24.04 po poročilih tudi po posodobitvi še naprej kaže 8.3.6. Zanesljive so tri poti:
| Pot | Kaj pokaže | Omejitev |
|---|---|---|
| Primerjava različice s popravljenimi različicami | 8.5.12, 8.4.27, 8.3.36 ali 8.2.35 oziroma višja je popravljena | velja samo za izvirne različice, ne za povratne popravke |
Test za memory_hard_limit_percent |
bool(false) pomeni: direktiva neznana, torej prizadeto |
izvedite posebej za vsako različico in način delovanja |
| Iskanje številk CVE v dnevniku sprememb paketa | dokazuje povratne popravke pri distribucijah | vir je varnostni arhiv ponudnika |
Test izgleda takole:
php -r 'var_dump(ini_get("memory_hard_limit_percent"));'
Kako čisto preverite različico in stanje popravkov, opisuje stran Pravilno preverjanje različice PHP in stanja popravkov. Pregled vej podaja stran Katere različice PHP so prizadete?. Zakaj prikaz kljub popravku lahko deluje star, pojasnjuje prispevek php -v kaže staro številko.
Prizadeto in ni več popravljivo: PHP 8.1 in starejši
Za PHP 8.1 in starejše projekt PHP ne izdaja več uradnih posodobitev, le minimalne povratne popravke izvorne kode za 7.4, 8.0 in 8.1. Kdor uporablja tako različico, ima običajno dve poti: ponudnika z dokazanim povratnim popravkom ali selitev na vzdrževano različico. Obstajajo komercialne ponudbe dolgoročne podpore, vendar mora ponudnik pisno potrditi, ali in kdaj pokrivajo PHP2Shell. Pri razvrstitvi vam pomagamo na strani PHP 8.1 in starejši: kaj velja zdaj in pri izvedbi v storitvi popravljanja PHP.
Kaj nam pošljite
- Seznam vaših strežnikov, domen in ponudnikov gostovanja
- Različica PHP za vsak sistem, kolikor je znana
- Način delovanja in spletni strežnik, kolikor je znan
- Podatek, ali je pred strežnikom Cloudflare ali druga zaščita in ali je izvorni strežnik neposredno dosegljiv
- Odgovori vašega ponudnika gostovanja, če ste ga že vprašali
- Kontaktna oseba za odobritve in ponovne zagone
Zakaj PHP SOS
Delamo »Made in Germany« in smo s partnerskim omrežjem kibernetskih strokovnjakov že več kot 25 let specializirani za IT-varnost. Imate enega sogovornika, ki prehodi vaš popis in vsako izjavo podkrepi z dokazi, namesto da bi samo prebral številke različic. Delamo na daljavo, brez prihoda na kraj, in dokumentiramo, kaj smo preverili. Izjavo, kot je »varno«, damo le toliko, kolikor jo je mogoče dokazati. Za večja okolja pride v poštev nujna pomoč pri PHP2Shell.
Ste prizadeti? Pokličite nas. Pomagamo.
Če ne veste, ali ste prizadeti, je to dovolj razloga, da se javite zdaj. Pokličite ali pišite po WhatsAppu. Prevzamemo že od prvega sporočila in to z vami razjasnimo na strežniku. Prijavite nujni primer zdaj.
Pogosta vprašanja
Ali sem zaradi PHP2Shell prizadet, če uporabljam samo WordPress ali spletno trgovino?
Možno je, da. Ranljivosti sta v PHP-ju, ne v CMS-ju. Odločilno je, katera različica PHP in kateri način delovanja pri vas dejansko strežeta strani; posodobitev WordPressa pri tem ne spremeni ničesar.
Ali številka različice zadostuje, da vem, ali imam popravek?
Ne vedno. Distribucije in ponudniki gostovanja popravke včasih vgradijo kot povratne popravke (backport), pri čemer številka ostane enaka. Zanesljiva sta dnevnik sprememb paketa s številkami CVE ali pisna potrditev vašega ponudnika.
Ali obstaja hiter test, ali moja različica PHP vsebuje popravek?
Po priročniku PHP je prizadeta različica, ki direktive memory_hard_limit_percent ne pozna. Test je treba izvesti posebej za vsako različico PHP in način delovanja, ker lahko ukazna vrstica uporablja drugo različico kot spletni strežnik.
Ali so prizadete tudi starejše različice PHP, kot sta 7.4 ali 8.0?
Po poročanju strokovnega tiska so prizadete skoraj vse različice vse do PHP 5.4. Za 8.1 in starejše projekt PHP ne izdaja več uradnih posodobitev, le minimalne povratne popravke izvorne kode. Ali jih je ponudnik vgradil, mora potrditi on.
Ali me Cloudflare zaščiti, če sem prizadet?
Delno. Cloudflare je uvedel zaščitna pravila, vendar sam opozarja, da posodobitve ne nadomeščajo. Če je vaš izvorni strežnik neposredno dosegljiv, je zaščita zaobšla.