Stručně: Velká část rozšířených redakčních systémů (CMS) a e-shopových systémů je napsána v PHP, mimo jiné WordPress s WooCommerce, TYPO3, Joomla, Drupal, Contao, Shopware, Magento resp. Adobe Commerce a PrestaShop. K tomu přistupují interní aplikace jako Nextcloud, Moodle, MediaWiki a Matomo. Kdo provozuje některý z těchto systémů, je postižen zranitelnostmi v interpretu PHP, jako je PHP2Shell, bez ohledu na to, jak aktuální je samotné CMS.
Proč tolik webů běží na PHP
PHP je od 90. let přizpůsobeno webovým serverům a je dostupné téměř u každého poskytovatele hostingu. CMS na bázi PHP lze proto provozovat bez vlastní serverové infrastruktury, což bylo a je lákavé zejména pro malé a střední firmy, spolky a úřady.
Pro provozovatele to znamená: web není jen „WordPress“ nebo „Shopware“, ale zásobník z několika vrstev. Dole běží operační systém, nad ním webový server, pak interpret PHP a úplně nahoře CMS s rozšířeními. Každá vrstva potřebuje vlastní aktualizace. Zranitelnost v PHP zasáhne všechny systémy, které na něm stavějí.
K tomu přistupují rozšíření: pluginy, šablony (themes), moduly a rozhraní e-shopů jsou rovněž kód PHP, často od malých dodavatelů. Běží se stejnými oprávněními jako CMS a provádí je stejné běhové prostředí PHP. CMS s mnoha rozšířeními má proto větší útočnou plochu než štíhlá instalace, i když je jádro aktuální.
Údaje o rozšíření jednotlivých systémů zde vynecháváme. Neexistuje pro ně zdroj, který bychom považovali za spolehlivý a srovnatelný.
Rozšířená CMS a e-shopové systémy na bázi PHP
Tabulka uvádí známé systémy a to, co o své technické základně říkají sami výrobci. Požadavky na verze záměrně neuvádíme, protože se mění s každým vydáním.
| Systém | Druh | Poznámka k technickému základu |
|---|---|---|
| WordPress, WooCommerce | CMS, rozšíření pro e-shop | aplikace PHP, podle požadavků MySQL nebo MariaDB |
| TYPO3 | CMS | podle dokumentace potřebuje webový server, PHP a databázi SQL |
| Joomla | CMS | PHP s MySQL, MariaDB nebo PostgreSQL |
| Drupal | CMS | PHP; rozšíření jádra v core/composer.json |
| Contao | CMS | podle výrobce na frameworku Symfony Full-Stack |
| Craft CMS | CMS | výrobce uvádí Yii mezi použitými nástroji |
| Shopware 6 | e-shop | vývojářská dokumentace pojednává o pluginech jako o bundlech Symfony |
| Magento Open Source, Adobe Commerce | e-shop | PHP a Composer v systémových požadavcích |
| PrestaShop | e-shop | PHP s vlastní tabulkou kompatibility |
| Nextcloud | úložiště souborů | Apache s mod_php nebo PHP-FPM, Nginx s PHP-FPM |
| Moodle | výuková platforma | podle dokumentace vyvíjena v PHP |
| MediaWiki, Matomo | wiki, statistiky | PHP podle požadavků na instalaci |
Mnoho z těchto systémů interně využívá stavební prvky z frameworků PHP a načítá knihovny přes Composer. Pro většinu z nich máme samostatné stránky s pokyny k zabezpečení, například WordPress, Shopware 6 a TYPO3.
Jak zjistím, zda můj web běží na PHP?
Mnoho firem přesně neví, jaké systémy u nich běží, zvlášť když web vytvořila agentura. Tyto kroky přinesou jasno:
- Založit inventář: Vypsat všechny domény, subdomény a interní webová rozhraní, včetně testovacích systémů a starých kampaňových stránek.
- Zeptat se poskytovatele hostingu nebo agentury: Jaký systém, jaká verze PHP, jaký provozní režim (PHP-FPM, mod_php, LiteSpeed)? Požádejte o písemnou odpověď.
- Podívat se do hostingového panelu: V Plesku, cPanelu a podobných rozhraních je uvedena verze PHP pro každý web. Pamatujte, že backporty distribuce zobrazené číslo nemění.
- Ověřit na serveru: Správci poznají podle procesů a konfigurace webového serveru, které běhové prostředí PHP skutečně vydává stránky.
- Nezapomenout na zařízení: Systémy NAS, routery a appliance mají často webové rozhraní, které může rovněž běžet na PHP.
# Na serveru: Které procesy PHP běží?
ps -eo user,cmd | grep -E 'php-fpm|lsphp|php-cgi|frankenphp' | grep -v grep
Brát systémové požadavky vážně
Každý výrobce zveřejňuje, s jakými verzemi PHP je jeho software testován. Tyto údaje jsou základem každého plánování aktualizací: aktualizace PHP na verzi, kterou CMS ještě nepodporuje, může web ochromit. CMS, které běží jen s verzí PHP bez bezpečnostních aktualizací, je trvalé riziko.
Podle systémových požadavků výrobce pro vaši přesnou verzi proto ověřte, které verze PHP přicházejí v úvahu, a porovnejte to s opravenými verzemi PHP. Pro systémy, které běží jen s PHP 8.1 nebo starším, už projekt PHP oficiální aktualizace nevydává.
Co PHP2Shell znamená pro provozovatele CMS a e-shopů
PHP2Shell tvoří zranitelnosti CVE-2026-109618 a CVE-2026-109619 v interpretu PHP, obě s CVSS 9,2. Umožňují spuštění škodlivého kódu bez přihlášení. Opraveny jsou v PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Aktualizace CMS tyto zranitelnosti neuzavře; proč, vysvětluje náš článek Proč aktualizace WordPressu proti PHP2Shell nepomáhá.
Pro e-shopy to váží obzvlášť, protože tam leží data zákazníků, objednávky a přístupové údaje k platebním a dopravním službám. Záplata navíc neodstraní škodlivý software, který byl vložen dříve, a nedokazuje, že se nic nestalo.
Jak konkrétně pomáhá PHP SOS?
- Vytvoříme inventář vašich webů a interních aplikací na bázi PHP se systémem, verzí PHP a provozním režimem.
- Porovnáme požadavky výrobců s opravenými verzemi PHP a naplánujeme aktualizaci pro každý systém.
- Nasadíme aktualizace PHP, restartujeme všechny procesy a poté ověříme, zda CMS a e-shop fungují správně.
- Při podezření na incident prošetříme systém v rámci okamžité pomoci PHP2Shell.
Časté dotazy
Běží WordPress na PHP?
Ano. WordPress je aplikace PHP a podle oficiálních požadavků potřebuje PHP a databázi MySQL nebo MariaDB. Zranitelnosti v interpretu PHP se tedy týkají každé instalace WordPressu, bez ohledu na stav samotného WordPressu.
Pomůže aktualizace CMS proti PHP2Shell?
Ne. Zranitelnost leží v PHP, nikoli v CMS. Podle drweb.de proto WordPress.org ani neplánuje vlastní aktualizaci proti ní. Uzavře ji jen opravená verze PHP a restart všech procesů PHP.
Jak zjistím, kterou verzi PHP můj e-shop potřebuje?
Ze systémových požadavků výrobce pro vaši konkrétní verzi. Tyto údaje se mění s každým větším vydáním, proto je čtěte přímo u výrobce a nepřebírejte je ze starších návodů.
Týkají se zranitelnosti i interních aplikací?
Ano, pokud běží na PHP. Úložiště souborů jako Nextcloud, výukové platformy jako Moodle, interní wiki s MediaWiki nebo Matomo pro statistiky jsou aplikace PHP. Při inventurách se na ně často zapomíná.
Není web bez .php v adrese vůbec PHP?
Ne nutně. Moderní systémy přesměrovávají všechny adresy přes centrální index.php, takže se v URL .php nikdy neobjeví. Jistotu dá jen pohled na server nebo informace od poskytovatele hostingu či agentury.