21 октября разработчики PHP выпустили срочное обновление и объявление о том, что закрыли две уязвимости с оценкой 9.2 из 10 (то есть высокая критичность). Эти уязвимости дают возможность выполнить свой код на сервере - без пароля и без доступа к админке. Проще говоря, взломать сайт одним запросом и, как следствие, вытянуть с него любые данные или внести любые изменения. Звучит не очень приятно, но хорошо, что дыры уже закрыли. Осталось поставить исправления на свой сайт - ниже разберем 2 пути, как это сделать.
Исправления вышли 21 октября в 17:00 по Москве, и обновляться нужно всем без исключения, но в разной последовательности.
Коротко о том, что такое PHP?
Это язык, на котором работает большинство сайтов. Когда вы открываете любую страницу, сервер запускает PHP, и тот собирает страницу из базы и шаблонов и отдает ее в браузер. Битрикс, WordPress, MODX, OpenCart и большинство самописных сайтов написаны на PHP. Поэтому дыра в PHP - это дыра сразу в миллионах сайтов, независимо от того, какая у вас CMS и насколько хорошо она защищена - вы в зоне риска.
Исключение: Tilda, Wix и подобные конструкторы, где сервером управляет сама платформа.
Что делать?
Есть два пути, и нужно определиться, какой подойдет именно вам, поэтому в первую очередь - узнайте, какая версия PHP на вашем сайте.
Как узнать версию PHP:
- В панели хостинга - в настройках сайта, там она указана всегда.
- В Битриксе - зайдите в админку и откройте ваш-сайт.ru/bitrix/admin/phpinfo.php, версия в самой первой строке.
- В WordPress - Инструменты - Здоровье сайта - Информация - Сервер.
- Если не нашли - спросите у вашего разработчика или в поддержке хостинга.
Вариант 1.
У вас PHP 8.1, 8.0, 7.4 или еще старше
Для этих версий, к сожалению, официально патчи не заявлены, поэтому порядок такой:
1️⃣ Ставите задачу разработчику перевести сайт на PHP 8.2 или новее.
Сразу говорю: это не кнопка "обновить", поэтому есть риски того, что сайт может посыпаться. Обязательно сначала делаете проверку на копии, выполняете необходимые доработки кода и только потом переключаете на рабочем сайте. Быстро это не делается, просто будьте к этому готовы.
UPD: если у вас Beget, то поднимать версию не нужно прямо сейчас. При обращении к ним мы получили информацию, что они могут выполнить обновление и на старую версию PHP, но глобально сидеть на старой версии - не стоит, по возможности обновляйтесь в любом случае.
2️⃣ После перехода пишете хостеру, чтобы поставил свежие патчи от разработчиков PHP (8.2.35, 8.3.36, 8.4.27 или 8.5.12 - смотря на какую версию перешли).
- Если же сайт на своем сервере (VPS) - и переход, и патчи делает непосредственно ваш разработчик.
Вариант 2.
У вас PHP 8.2 или новее (вам повезло)
🛡️ Нужен только патч.
- Если у вас обычный хостинг - пишете в поддержку, чтобы обновили PHP до исправленной версии в вашей ветке: 8.2.35, 8.3.36, 8.4.27 или 8.5.12. Например, было 8.2.28 - просите 8.2.35. Многие хостеры делают это сами, но подтолкнуть через поддержку и после проверить стоит.
- Если у вас свой сервер (VPS) - ваш админ обновляет PHP до той же версии через панель сервера (ispmanager, FASTPANEL) или командой в консоли и перезапускает веб-сервер.
Главное - без паники.
Эта ситуация затрагивает почти всех владельцев сайтов, поэтому не стоит переживать, вы не одни.
Отмечу также, что часть хостеров временно ограничивает загрузку файлов через сайты, пока не обновят PHP. Если вы заметили, что не подгружаются картинки или любой материал на сайт через админку, либо не отправляются формы с вложениями - скорее всего, причина в этом. Ограничения снимут после обновления, а есть вероятность, что их и вовсе не будет.
Поделитесь постом с владельцами сайтов, это важно для безопасности любых онлайн-проектов.
✏️ Для связи: MAX, Telegram