Накратко: Голяма част от разпространените системи за управление на съдържание (CMS) и магазинни системи са написани на PHP, сред тях WordPress с WooCommerce, TYPO3, Joomla, Drupal, Contao, Shopware, Magento, респективно Adobe Commerce, и PrestaShop. Към тях се добавят вътрешни приложения като Nextcloud, Moodle, MediaWiki и Matomo. Който експлоатира някоя от тези системи, е засегнат от уязвимости в интерпретатора на PHP като PHP2Shell, независимо колко актуален е самият CMS.
Защо толкова много уебсайтове работят на PHP
PHP е съобразен с уеб сървърите още от 90-те години и е наличен при практически всеки хостинг доставчик. CMS на базата на PHP затова може да се експлоатира без собствена сървърна инфраструктура, което беше и е привлекателно особено за малките и средните фирми, дружествата и органите.
За операторите това означава: уебсайтът не е само „WordPress“ или „Shopware“, а пакет от няколко слоя. Най-долу работи операционната система, над нея уеб сървърът, след това интерпретаторът на PHP и най-горе CMS с разширения. Всеки слой изисква собствени актуализации. Уязвимост в PHP засяга всички системи, които са изградени върху него.
Към това се добавят разширенията: добавките, темите, модулите и интерфейсите на магазините също са PHP код, често от малки доставчици. Те работят със същите права като CMS и се изпълняват от същата среда за изпълнение на PHP. CMS с много разширения затова има по-голяма повърхност за атака от лека инсталация, дори ядрото да е актуално.
Числата за разпространението на отделните системи пропускаме тук. За тях няма източник, който да смятаме за надежден и съпоставим.
Разпространени CMS и магазинни системи на базата на PHP
Таблицата назовава известни системи и това, което самите производители казват за своята техническа основа. Изискванията към версиите съзнателно не посочваме, защото те се променят с всяко издание.
| Система | Вид | Бележка за техническата основа |
|---|---|---|
| WordPress, WooCommerce | CMS, разширение за магазин | PHP приложение, MySQL или MariaDB според изискванията |
| TYPO3 | CMS | според документацията изисква уеб сървър, PHP и SQL база данни |
| Joomla | CMS | PHP с MySQL, MariaDB или PostgreSQL |
| Drupal | CMS | PHP; разширенията на ядрото в core/composer.json |
| Contao | CMS | според производителя върху Symfony Full-Stack Framework |
| Craft CMS | CMS | производителят назовава Yii сред използваните инструменти |
| Shopware 6 | Магазин | документацията за разработчици третира добавките като Symfony bundles |
| Magento Open Source, Adobe Commerce | Магазин | PHP и Composer в системните изисквания |
| PrestaShop | Магазин | PHP със собствена таблица за съвместимост |
| Nextcloud | Файлово хранилище | Apache с mod_php или PHP-FPM, Nginx с PHP-FPM |
| Moodle | Платформа за обучение | според документацията разработена на PHP |
| MediaWiki, Matomo | Уики, статистика | PHP според изискванията за инсталация |
Много от тези системи ползват вътрешно градивни елементи от PHP framework-ове и зареждат библиотеки чрез Composer. За повечето от тях имаме отделни страници с указания за защита, например WordPress, Shopware 6 и TYPO3.
Как да разбера дали моят уебсайт работи на PHP?
Много фирми не знаят точно какви системи работят при тях, особено когато уебсайтът е изграден от агенция. Тези стъпки внасят яснота:
- Създаване на опис: Изброете всички домейни, поддомейни и вътрешни уеб интерфейси, включително тестови системи и стари кампанийни страници.
- Питане на хостинг доставчика или агенцията: Коя система, коя версия на PHP, кой режим на работа (PHP-FPM, mod_php, LiteSpeed)? Поискайте писмен отговор.
- Преглед на хостинг панела: В Plesk, cPanel и сходни интерфейси версията на PHP е посочена за всеки уебсайт. Имайте предвид, че backport корекциите на дистрибуцията не променят показвания номер.
- Проверка на сървъра: Администраторите виждат по процесите и по конфигурацията на уеб сървъра коя среда за изпълнение на PHP действително предоставя съдържанието.
- Не забравяйте устройствата: NAS системите, рутерите и апаратите често имат уеб интерфейс, който също може да работи на PHP.
# На сървъра: Кои PHP процеси работят?
ps -eo user,cmd | grep -E 'php-fpm|lsphp|php-cgi|frankenphp' | grep -v grep
Вземайте на сериозно системните изисквания
Всеки производител публикува с кои версии на PHP е тестван неговият софтуер. Тези данни са основата на всяко планиране на актуализации: актуализация на PHP до версия, която CMS още не поддържа, може да парализира уебсайта. CMS, който работи само с версия на PHP без актуализации за сигурност, е постоянен риск.
Проверете затова според системните изисквания на производителя за Вашата точна версия кои версии на PHP влизат в предвид и ги съпоставете с поправените версии на PHP. За системи, които работят само с PHP 8.1 или по-стари, проектът PHP вече няма официални актуализации.
Какво означава PHP2Shell за операторите на CMS и магазини
PHP2Shell се състои от уязвимостите CVE-2026-109618 и CVE-2026-109619 в интерпретатора на PHP, и двете с CVSS 9,2. Те позволяват изпълнение на злонамерен код без влизане в системата. Поправени са в PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Актуализация на CMS не затваря тези уязвимости; защо, обяснява нашата статия Защо актуализация на WordPress не помага срещу PHP2Shell.
За магазините това тежи особено, защото там се намират данни на клиенти, поръчки и данни за достъп до платежни и куриерски услуги. Корекцията освен това не премахва злонамерен софтуер, вмъкнат преди нея, и не доказва, че нищо не се е случило.
Как помага PHP SOS конкретно?
- Създаваме опис на Вашите уебсайтове на базата на PHP и вътрешни приложения със система, версия на PHP и режим на работа.
- Съпоставяме изискванията на производителите с поправените версии на PHP и планираме актуализацията за всяка система.
- Внасяме актуализациите на PHP, рестартираме всички процеси и след това проверяваме дали CMS и магазинът работят правилно.
- При съмнение за инцидент проучваме системата в рамките на спешната помощ при PHP2Shell.
Често задавани въпроси
WordPress работи ли на PHP?
Да. WordPress е PHP приложение и според официалните изисквания се нуждае от PHP, както и от база данни MySQL или MariaDB. Така уязвимостите в интерпретатора на PHP засягат всяка инсталация на WordPress, независимо от състоянието на самия WordPress.
Помага ли актуализация на CMS срещу PHP2Shell?
Не. Уязвимостта е в PHP, а не в CMS. Според drweb.de WordPress.org затова не планира и собствена актуализация срещу нея. Затваря се само с поправена версия на PHP и рестартиране на всички PHP процеси.
Как да разбера коя версия на PHP е нужна на моя магазин?
От системните изисквания на производителя за Вашата конкретна версия. Тези данни се променят с всяко по-голямо издание, затова трябва да ги прочетете директно при производителя, а не да ги вземате от по-стари ръководства.
Засегнати ли са и вътрешните приложения?
Да, ако работят на PHP. Файлови хранилища като Nextcloud, платформи за обучение като Moodle, вътрешни уикита с MediaWiki или Matomo за статистика са PHP приложения. При инвентаризациите те често се забравят.
Уебсайт без .php в адреса не е ли PHP?
Не непременно. Съвременните системи насочват всички адреси през централен index.php, така че в URL никога не се появява .php. Сигурност дава само поглед към сървъра или справка от хостинг доставчика или агенцията.