Текуща ситуация: PHP2Shell. Две критични уязвимости в PHP (CVSS 9,2) позволяват злонамерен код без вход. Корекции от 21.10.2026 г.Какво да направите сега →

Сигурност на Contao след PHP2Shell: как да защитите правилно уебсайтове

Contao работи на PHP и Symfony. След PHP2Shell значение имат пачът за PHP за уеб и за командния ред, защитеният Contao Manager и поглед във files и templates.

Актуалност 4 мин. четенеПлатформи

Накратко: Сигурността на Contao при PHP2Shell зависи от PHP на сървъра, а не от Contao. Погрижете се както уеб PHP, така и PHP за командния ред на Contao Manager да са пачнати. След това проверете .env, собствените шаблони, папката files и достъпите до бекенда и Manager.

Contao и PHP2Shell: за какво става дума

Contao е CMS, разпространен в немскоговорящите страни, който от версия 4 е изграден върху фреймуърка Symfony. PHP уязвимостите CVE-2026-109618 и CVE-2026-109619 позволяват според екипа на PHP изпълнение на злонамерен код от разстояние без вход в системата. Те засягат самия PHP, т.е. и всяка инсталация на Contao на непачнат сървър.

Много уебсайтове на Contao принадлежат на средни фирми, съюзи и общини и се поддържат от агенции. Изяснете затова първо кой отговаря за PHP: хостинг доставчикът, агенцията или Вашата собствена ИТ.

Често срещано заблуждение е свързано с режима за поддръжка. Contao може да заключи уебсайт за посетители, но това заключване само се доставя от PHP. Всяка заявка така продължава да достига до интерпретатора на PHP. Срещу PHP2Shell режимът за поддръжка затова не защитава. Когато BSI (Федерална служба за информационна сигурност на Германия) препоръчва уеб сървърите да се изключат от мрежата до актуализацията, има се предвид блокиране на ниво сървър или хостинг, а не настройка в CMS.

Сигурността на Contao започва с две версии на PHP

Contao ползва PHP по два пътя. Уеб сървърът обработва извикванията на страниците най-често през PHP-FPM. Contao Manager и конзолата на Contao работят допълнително с PHP за командния ред, например за инсталации, актуализации и cron задачи. При хостинг пакети с няколко версии на PHP това могат да са две различни програми.

Contao Manager показва в конфигурацията на сървъра коя програмна PHP програма ползва. Уеб версията виждате в хостинг панела. Поправените версии на оригиналния проект са 8.5.12, 8.4.27, 8.3.36 и 8.2.35; backport-овете могат да носят по-стари номера. И двата пътя трябва да са пачнати и всички процеси рестартирани. Кои версии на PHP поддържа Вашата версия на Contao, проверете според системните изисквания на contao.org. Повече за проверката има на страницата Как да проверите правилно PHP версията и състоянието на пача.

Директории и файлове в Contao

Място Съдържание Какво да проверите
.env, .env.local достъп до базата данни, APP_SECRET при подозрение сменете
config/config.yaml конфигурация на инсталацията неочаквани промени
public/ (по-стари версии web/) коренна директория с index.php, файла на Contao Manager, ресурси допълнителни PHP файлове
files/ управление на файлове на редакторите без PHP файлове
templates/ собствени шаблони, класически като .html5 с PHP непознати или променени шаблони
system/config/localconfig.php по-стари настройки вмъкнат код
var/ кеш и логове запазете логовете, генерирайте кеша наново

Именно templates/ се подценява: класическите шаблони на Contao с разширение .html5 са PHP файлове. Вмъкната команда в собствен шаблон се изпълнява при всяко извикване на страница и оцелява при актуализации на Contao.

Безопасни първи проверки:

# PHP файлове в управлението на файлове
find files -type f -name "*.php"
# Шаблони, променени от 17.10.2026 г.
find templates -type f -newermt "2026-10-17"
# Проверка на наличните команди на Contao и на зависимостите
vendor/bin/contao-console list contao
composer audit
Важно

Contao Manager може да инсталира пакети и така да вкара произволен код на сървъра. При подозрение проверете неговите потребителски акаунти, задайте нови пароли и премахнете достъпите на бивши доставчици.

Бекенд, Manager и разширения

Бекендът е на /contao. Проверете потребителите с администраторски права и потребителските групи с далечни права, например върху управление на файлове, шаблони или управление на потребители. Contao носи двуфакторно удостоверяване; ползвайте го за всички акаунти с повишени права.

Разширенията се инсталират чрез Composer или през Contao Manager. Всяко носи PHP код, а по-старите разширения без поддръжка спират надграждането на PHP. На сървъри с няколко уебсайта всяка инсталация трябва да работи отделно, за да не премине инцидентът към съседните сайтове; повече за това на страницата open_basedir и изолация за всеки уебсайт.

Какво може актуализацията на Contao и какво не

Актуализация на Contao чрез Manager или Composer затваря известни грешки в Contao и в разширенията. Тя не пачва PHP и не рестартира нито PHP-FPM, нито фонови процеси. Собствените шаблони, файловете във files/ и чуждите потребителски акаунти остават непроменени. След смяна на основната версия на PHP кешът трябва да се генерира наново, а уебсайтът да се провери в тестова среда.

При уебсайтове с много редактори след пача си струва поглед върху правата в бекенда. Който може да редактира шаблони, може да остави PHP код в класическите .html5 шаблони. Това право трябва да е в ръцете на малко, технически способни лица. Същото важи за достъпа до управлението на файлове с право за качване в публично достъпни папки.

Как помага PHP SOS конкретно?

  • Установяваме уеб PHP и CLI PHP на Вашата инсталация на Contao и получаваме потвърждение за пача и рестартирането.
  • Запазваме логове, файлове и база данни, преди да променим каквото и да било.
  • Проверяваме шаблоните, files/, коренната директория, бекенд акаунтите и акаунтите в Manager.
  • Смяната на PHP с доказателство поема при желание нашата услуга за пач на PHP, съгласувано с Вашата агенция.

Често задавани въпроси

Засегнат ли е Contao от PHP2Shell?

Самият Contao няма нова уязвимост. Ако уебсайтът обаче работи на непачнат PHP, той е уязвим като всяко PHP приложение. Актуализацията на Contao не затваря уязвимостта в PHP.

Защо Contao Manager е важен за сигурността?

Contao Manager може да инсталира, актуализира и премахва пакети. Който има достъп до него, може да внесе произволен код. Достъпът изисква затова силна парола и малко упълномощени лица.

Съдържат ли шаблоните на Contao PHP код?

Класическите шаблони с разширение .html5 са PHP шаблони. Собствените шаблони в папката templates могат затова да съдържат PHP. Непознатите или наскоро променени шаблони трябва да можете да обясните.

Източници

Незабавен контакт

Всеки час има значение. Пишете ни сега.

Опишете накратко системата, версията на PHP и какво сте забелязали. Ние се свързваме с Вас, уточняваме ситуацията и работим отдалечено, докато инцидентът бъде приключен и документиран.

Незабавна помощ