Na kratko: Velik del razširjenih sistemov za upravljanje vsebin (CMS) in sistemov za spletne trgovine je napisan v PHP, med njimi WordPress z WooCommerce, TYPO3, Joomla, Drupal, Contao, Shopware, Magento oziroma Adobe Commerce in PrestaShop. Zraven pridejo interne aplikacije, kot so Nextcloud, Moodle, MediaWiki in Matomo. Kdor upravlja katerega od teh sistemov, je zaradi ranljivosti v interpreterju PHP, kot je PHP2Shell, prizadet, ne glede na to, kako aktualen je sam CMS.
Zakaj toliko spletnih strani teče na PHP
PHP je od devetdesetih let prilagojen spletnim strežnikom in je na voljo pri praktično vsakem ponudniku gostovanja. CMS na osnovi PHP je zato mogoče upravljati brez lastne strežniške infrastrukture, kar je bilo in je privlačno predvsem za mala in srednja podjetja, društva in urade.
Za upravljavce to pomeni: spletna stran ni samo „WordPress“ ali „Shopware“, ampak sklad več plasti. Spodaj teče operacijski sistem, nad njim spletni strežnik, nato interpreter PHP in čisto zgoraj CMS z razširitvami. Vsaka plast potrebuje lastne posodobitve. Ranljivost v PHP zadene vse sisteme, ki temeljijo nanj.
Zraven pridejo razširitve: vtičniki, teme, moduli in vmesniki za spletne trgovine so prav tako koda PHP, pogosto malih ponudnikov. Tečejo z istimi pravicami kot CMS in jih izvaja isto izvajalno okolje PHP. CMS z veliko razširitvami ima zato večjo napadalno površino kot vitka namestitev, tudi če je jedro aktualno.
Številk o razširjenosti posameznih sistemov tu ne navajamo. Zanje ni vira, ki bi ga imeli za zanesljivega in primerljivega.
Razširjeni CMS-ji in sistemi za spletne trgovine na osnovi PHP
Tabela navaja znane sisteme in to, kar proizvajalci sami povedo o svoji tehnični osnovi. Zahtev glede različic namenoma ne navajamo, ker se spreminjajo z vsako izdajo.
| Sistem | Vrsta | Opomba o tehnični osnovi |
|---|---|---|
| WordPress, WooCommerce | CMS, razširitev za trgovino | aplikacija PHP, MySQL ali MariaDB po zahtevah |
| TYPO3 | CMS | po dokumentaciji potrebuje spletni strežnik, PHP in podatkovno zbirko SQL |
| Joomla | CMS | PHP z MySQL, MariaDB ali PostgreSQL |
| Drupal | CMS | PHP; razširitve jedra v core/composer.json |
| Contao | CMS | po proizvajalcu na ogrodju Symfony Full Stack |
| Craft CMS | CMS | proizvajalec med uporabljenimi orodji navaja Yii |
| Shopware 6 | spletna trgovina | razvijalska dokumentacija obravnava vtičnike kot bundle Symfony |
| Magento Open Source, Adobe Commerce | spletna trgovina | PHP in Composer v sistemskih zahtevah |
| PrestaShop | spletna trgovina | PHP z lastno tabelo združljivosti |
| Nextcloud | shramba datotek | Apache z mod_php ali PHP-FPM, Nginx s PHP-FPM |
| Moodle | učna platforma | po dokumentaciji razvit v PHP |
| MediaWiki, Matomo | wiki, statistika | PHP po zahtevah za namestitev |
Številni od teh sistemov interno uporabljajo gradnike iz ogrodij PHP in knjižnice nalagajo prek Composerja. Za večino imamo lastne strani z namigi za zavarovanje, na primer WordPress, Shopware 6 in TYPO3.
Kako ugotovim, ali moja spletna stran teče na PHP?
Veliko podjetij natančno ne ve, kateri sistemi pri njih tečejo, zlasti če je spletno stran zgradila agencija. Ti koraki prinesejo jasnost:
- Vzpostaviti popis: našteti vse domene, poddomene in interne spletne vmesnike, tudi preizkusne sisteme in stare kampanjske strani.
- Vprašati ponudnika gostovanja ali agencijo: kateri sistem, katera različica PHP, kateri način delovanja (PHP-FPM, mod_php, LiteSpeed)? Prosite za pisni odgovor.
- Pogledati panel za gostovanje: v Pleskovi in cPanelovi ter podobnih nadzornih ploščah je različica PHP navedena za vsako spletno stran. Upoštevajte, da backporti distribucije prikazane številke ne spremenijo.
- Preveriti na strežniku: skrbniki po procesih in konfiguraciji spletnega strežnika vidijo, katero izvajalno okolje PHP dejansko streže.
- Ne pozabiti naprav: sistemi NAS, usmerjevalniki in aplikacijske naprave imajo pogosto spletni vmesnik, ki prav tako lahko teče na PHP.
# Na strežniku: kateri procesi PHP tečejo?
ps -eo user,cmd | grep -E 'php-fpm|lsphp|php-cgi|frankenphp' | grep -v grep
Sistemske zahteve vzemite resno
Vsak proizvajalec objavi, s katerimi različicami PHP je njegova programska oprema preizkušena. Ti podatki so podlaga za vsako načrtovanje posodobitev: posodobitev PHP na različico, ki je CMS še ne podpira, lahko spletno stran ohromi. CMS, ki teče samo s PHP brez varnostnih posodobitev, je trajno tveganje.
Zato po sistemskih zahtevah proizvajalca za vašo natančno različico preverite, katere različice PHP pridejo v poštev, in to uskladite z odpravljenimi različicami PHP. Za sisteme, ki tečejo samo s PHP 8.1 ali starejšim, projekt PHP uradnih posodobitev ne izdaja več.
Kaj PHP2Shell pomeni za upravljavce CMS-jev in spletnih trgovin
PHP2Shell sestavljata ranljivosti CVE-2026-109618 in CVE-2026-109619 v interpreterju PHP, obe s CVSS 9,2. Omogočata izvajanje škodljive kode brez prijave. Odpravljeni sta v PHP 8.5.12, 8.4.27, 8.3.36 in 8.2.35. Posodobitev CMS-ja teh ranljivosti ne zapre; zakaj, razlaga naš prispevek Zakaj posodobitev WordPressa proti PHP2Shell ne pomaga.
Pri spletnih trgovinah je to še posebej težko, ker tam ležijo podatki o strankah, naročila in dostopni podatki do plačilnih in dostavnih storitev. Popravek poleg tega ne odstrani škodljive programske opreme, ki je bila vnesena prej, in ne dokazuje, da se ni zgodilo nič.
Kako PHP SOS pomaga konkretno?
- Izdelamo popis vaših spletnih strani na osnovi PHP in internih aplikacij s sistemom, različico PHP in načinom delovanja.
- Zahteve proizvajalcev uskladimo z odpravljenimi različicami PHP in načrtujemo posodobitev za vsak sistem.
- Namestimo posodobitve PHP, znova zaženemo vse procese in nato preverimo, ali CMS in spletna trgovina delujeta pravilno.
- Ob sumu na incident sistem preiščemo v okviru takojšnje pomoči pri PHP2Shell.
Pogosta vprašanja
Ali WordPress teče na PHP?
Da. WordPress je aplikacija PHP in po uradnih zahtevah potrebuje PHP ter podatkovno zbirko MySQL ali MariaDB. Ranljivosti v interpreterju PHP zato zadevajo vsako namestitev WordPressa, neodvisno od stanja samega WordPressa.
Ali posodobitev CMS-ja pomaga proti PHP2Shell?
Ne. Ranljivost je v PHP, ne v CMS-ju. Po drweb.de WordPress.org zato proti njej tudi ne načrtuje lastne posodobitve. Zapre jo samo odpravljena različica PHP in ponovni zagon vseh procesov PHP.
Kako izvem, katero različico PHP potrebuje moja spletna trgovina?
Iz sistemskih zahtev proizvajalca za vašo konkretno različico. Ti podatki se spreminjajo z vsako večjo izdajo, zato jih preberite neposredno pri proizvajalcu in jih ne povzemajte iz starejših navodil.
Ali so prizadete tudi interne aplikacije?
Da, če tečejo na PHP. Shrambe datotek, kot je Nextcloud, učne platforme, kot je Moodle, interni wikiji z MediaWiki ali Matomo za statistiko so aplikacije PHP. Pri popisih stanja jih pogosto pozabijo.
Ali spletna stran brez .php v naslovu ni PHP?
Ne nujno. Sodobni sistemi vse naslove vodijo prek osrednje index.php, tako da se .php v URL nikoli ne pojavi. Zanesljiv je samo pogled na strežnik ali informacija ponudnika gostovanja ali agencije.