Ukratko: Velik dio raširenih sustava za upravljanje sadržajem (CMS) i shop sustava napisan je u PHP-u, među njima WordPress s WooCommerceom, TYPO3, Joomla, Drupal, Contao, Shopware, Magento odnosno Adobe Commerce i PrestaShop. Tome se pridodaju interne aplikacije poput Nextclouda, Moodlea, MediaWikija i Matoma. Tko koristi neki od tih sustava, pogođen je ranjivostima u PHP interpreteru poput PHP2Shella, bez obzira na to koliko je sam CMS aktualan.
Zašto tolike web-stranice rade na PHP-u
PHP je od devedesetih godina skrojen za web-poslužitelje i dostupan je kod praktički svakog pružatelja web-hostinga. CMS na temelju PHP-a stoga se može voditi bez vlastite poslužiteljske infrastrukture, što je osobito bilo i ostalo privlačno malim i srednjim poduzećima, udrugama i tijelima vlasti.
Za operatere to znači: web-stranica nije samo „WordPress“ ili „Shopware“, nego složaj od više slojeva. Dolje radi operacijski sustav, iznad njega web-poslužitelj, zatim PHP interpreter i posve gore CMS s ekstenzijama. Svaki sloj treba vlastita ažuriranja. Ranjivost u PHP-u pogađa sve sustave koji se na njemu grade.
Tome se pridružuju proširenja: dodaci, teme, moduli i shop sučelja također su PHP kod, često malih pružatelja. Rade s istim pravima kao CMS i izvršava ih isto PHP izvršno okruženje. CMS s mnogo proširenja stoga ima veću površinu napada od vitke instalacije, čak i ako je jezgra aktualna.
Brojke o raširenosti pojedinih sustava ovdje izostavljamo. Za to nema izvora koji smatramo pouzdanim i usporedivim.
Rašireni CMS-ovi i shop sustavi na temelju PHP-a
Tablica navodi poznate sustave i ono što proizvođači sami govore o svojoj tehničkoj osnovi. Zahtjeve za verzije svjesno ne navodimo jer se mijenjaju sa svakim izdanjem.
| Sustav | Vrsta | Napomena o tehničkoj osnovi |
|---|---|---|
| WordPress, WooCommerce | CMS, shop proširenje | PHP aplikacija, prema zahtjevima MySQL ili MariaDB |
| TYPO3 | CMS | prema dokumentaciji treba web-poslužitelj, PHP i SQL bazu |
| Joomla | CMS | PHP s MySQL-om, MariaDB-om ili PostgreSQL-om |
| Drupal | CMS | PHP; ekstenzije jezgre u core/composer.json |
| Contao | CMS | prema proizvođaču na Symfony full-stack frameworku |
| Craft CMS | CMS | proizvođač među korištenim alatima navodi Yii |
| Shopware 6 | Shop | razvojna dokumentacija dodatke tretira kao Symfony bundleove |
| Magento Open Source, Adobe Commerce | Shop | PHP i Composer u sistemskim zahtjevima |
| PrestaShop | Shop | PHP s vlastitom tablicom kompatibilnosti |
| Nextcloud | Pohrana datoteka | Apache s mod_php-om ili PHP-FPM-om, Nginx s PHP-FPM-om |
| Moodle | Platforma za učenje | prema dokumentaciji razvijen u PHP-u |
| MediaWiki, Matomo | Wiki, statistika | PHP prema zahtjevima instalacije |
Mnogi od tih sustava iznutra koriste gradivne dijelove iz PHP frameworka i biblioteke učitavaju putem Composera. Za većinu imamo zasebne stranice s napomenama o osiguravanju, na primjer WordPress, Shopware 6 i TYPO3.
Kako saznati radi li moja web-stranica na PHP-u?
Mnoge tvrtke ne znaju točno koji sustavi kod njih rade, osobito ako je web-stranicu izgradila agencija. Ovi koraci stvaraju jasnoću:
- Napraviti inventar: Popisati sve domene, poddomene i interna web-sučelja, i testne sustave i stare stranice kampanja.
- Pitati pružatelja hostinga ili agenciju: Koji sustav, koja PHP verzija, koji način rada (PHP-FPM, mod_php, LiteSpeed)? Zatražite pisani odgovor.
- Pogledati hosting panel: U Pleskovu, cPanelu i sličnim sučeljima piše PHP verzija po web-stranici. Imajte na umu da backportovi distribucije ne mijenjaju prikazani broj.
- Provjeriti na poslužitelju: Administratori po procesima i konfiguraciji web-poslužitelja vide koje PHP izvršno okruženje stvarno isporučuje.
- Ne zaboraviti uređaje: NAS sustavi, usmjerivači i uređaji često imaju web-sučelje koje također može raditi na PHP-u.
# Na poslužitelju: koji PHP procesi rade?
ps -eo user,cmd | grep -E 'php-fpm|lsphp|php-cgi|frankenphp' | grep -v grep
Ozbiljno shvatiti sistemske zahtjeve
Svaki proizvođač objavljuje s kojim je PHP verzijama njegov softver testiran. Ti su podaci osnova za svako planiranje ažuriranja: PHP ažuriranje na verziju koju CMS još ne podržava može paralizirati web-stranicu. CMS koji radi samo s PHP verzijom bez sigurnosnih ažuriranja trajan je rizik.
Zato prema sistemskim zahtjevima proizvođača za svoju točnu verziju provjerite koje PHP verzije dolaze u obzir i usporedite to s ispravljenim PHP verzijama. Za sustave koji rade samo s PHP-om 8.1 ili starijim PHP projekt više nema službenih ažuriranja.
Što PHP2Shell znači za operatere CMS-ova i web-trgovina
PHP2Shell čine ranjivosti CVE-2026-109618 i CVE-2026-109619 u PHP interpreteru, obje s CVSS 9,2. Omogućuju izvršavanje zlonamjernog koda bez prijave. Otklonjene su u PHP-u 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Ažuriranje CMS-a ne zatvara te ranjivosti; zašto, objašnjava naš članak Zašto WordPress ažuriranje ne pomaže protiv PHP2Shella.
Za web-trgovine to osobito teško pogađa jer se tamo nalaze podaci klijenata, narudžbe i pristupni podaci za usluge plaćanja i dostave. Zakrpa uz to ne uklanja zlonamjerni softver koji je prije ubačen i ne dokazuje da se nije dogodilo ništa.
Kako PHP SOS konkretno pomaže?
- Izrađujemo inventar Vaših web-stranica i internih aplikacija na temelju PHP-a sa sustavom, PHP verzijom i načinom rada.
- Zahtjeve proizvođača uspoređujemo s ispravljenim PHP verzijama i planiramo ažuriranje po sustavu.
- Instaliramo PHP ažuriranja, ponovno pokrećemo sve procese i zatim provjeravamo rade li CMS i web-trgovina ispravno.
- U slučaju sumnje na incident sustav istražujemo u okviru PHP2Shell hitne pomoći.
Česta pitanja
Radi li WordPress na PHP-u?
Da. WordPress je PHP aplikacija i prema službenim zahtjevima treba PHP te MySQL ili MariaDB bazu podataka. Ranjivosti u PHP interpreteru tako pogađaju svaku WordPress instalaciju, neovisno o stanju samog WordPressa.
Pomaže li ažuriranje CMS-a protiv PHP2Shella?
Ne. Ranjivost leži u PHP-u, a ne u CMS-u. Prema drweb.de-u WordPress.org zato ne planira ni vlastito ažuriranje protiv nje. Zatvara je samo ispravljena PHP verzija i ponovno pokretanje svih PHP procesa.
Kako saznati koju PHP verziju treba moja web-trgovina?
Iz sistemskih zahtjeva proizvođača za Vašu konkretnu verziju. Ti se podaci mijenjaju sa svakim većim izdanjem, pa ih treba čitati izravno kod proizvođača, a ne preuzimati iz starijih uputa.
Jesu li pogođene i interne aplikacije?
Da, ako rade na PHP-u. Pohrane datoteka poput Nextclouda, platforme za učenje poput Moodlea, interni wikiji s MediaWikijem ili Matomo za statistiku PHP su aplikacije. Pri popisivanju stanja često se zaborave.
Znači li da web-stranica bez .php u adresi nije PHP?
Ne nužno. Moderni sustavi sve adrese usmjeravaju kroz središnji index.php, pa se u URL-u nikad ne pojavljuje .php. Sigurno je samo pogledati poslužitelj ili dobiti informaciju od pružatelja hostinga ili agencije.