Уязвимости в SPIP и плагинах Crayons и Simple logs допускают выполнение кода на сервере

SPIP

Шестого октября 2026 года команда SPIP выпустила ядро 4.4.27 и обновления двух плагинов. Crayons получил версию 3.5.0, Simple logs - 2.3.0. Поводом стали несколько уязвимостей, часть которых открывает путь к выполнению произвольного кода на сервере. Проходить аутентификацию для этого не нужно. Затронуты все версии ядра старее 4.4.27 и прежние выпуски обоих расширений. Сами разработчики называют найденные проблемы критическими.

Детали уязвимостей

SPIP - свободная система управления сайтом, которую выбирают госучреждения, университеты, редакции и некоммерческие организации. Во франкоязычном сегменте интернета на неё приходится заметная доля ресурсов публичного сектора. Поэтому уязвимости в платформе быстро выходят за рамки одного проекта. Многие площадки на SPIP обслуживают небольшие команды без выделенного специалиста по безопасности. Обновления там ставят редко, а между выходом исправления и его установкой проходят недели.

Отдельный повод для беспокойства - встроенный экран безопасности. Это механизм, который фильтрует подозрительные запросы и автоматически блокирует часть типовых атак. Разработчики указывают, что найденные бреши он не закрывает. Администратор, уверенный в обратном, может месяцами не ставить обновления и считать площадку защищённой. Здесь такая уверенность стоит дорого: речь идёт о выполнении кода, а не о мелких сбоях.

Плагин Crayons, отвечающий за правку страниц прямо из интерфейса, принёс сразу три проблемы. Одна связана с внедрением SQL-кода: посторонний запрос меняет логику обращения к базе. Другая допускает загрузку вредоносных документов без входа в систему. Третья разрешает менять поля в базе бесконтрольно, включая те, что в обычном режиме недоступны для редактирования. Слабые пароли удаётся восстановить, служебные признаки выдают пользователей, а свои права злоумышленник повышает до административных. Затем он достаёт секреты сайта и запускает собственный код на сервере.

Не меньше досталось простому плагину журналирования Simple logs. Он позволял читать и удалять любой файл установки. Из-за этого злоумышленник может переустановить площадку и создать учётную запись вебмастера, то есть администратора с полными правами. Тем же путём уходят конфигурационные файлы с доступами к базе и криптографическими ключами. Итог совпадает с предыдущим случаем: чужой код исполняется на сервере.

Само ядро тоже требовало вмешательства. В версии 4.4.27 закрыты выполнение кода до прохождения аутентификации, повышение привилегий, межсайтовый скриптинг, внедрение SQLite, анонимная загрузка HTML-файлов и восстановление секрета сайта. Секретом называют служебное значение, на котором держится подпись внутренних данных и часть механизмов сессий. Если оно утекает, проверки подлинности перестают что-либо значить. Злоумышленник может подделывать запросы от имени доверенных компонентов.

Расширения для SPIP пишут сторонние разработчики, чаще всего на общественных началах. Качество кода и скорость реакции на сообщения об ошибках у них различаются. Официальный выпуск ядра проходит внутреннюю проверку, а небольшой плагин способен годами не получать правок. Показательно, что проблемы обнаружились сразу в двух расширениях, а ядру потребовалось отдельное обновление.

Набор уязвимостей упрощает работу атакующего. Ни одна из описанных проблем не требует учётной записи или подготовительных шагов. Цель атакуется напрямую через веб-интерфейс. Типичный сценарий выглядит так. Злоумышленник загружает скрипт удалённого управления и закрепляется на сервере. Затем читает настройки и при необходимости подключается к базе данных. По отдельности каждая брешь уже даёт доступ, вместе они складываются в полный контроль над площадкой.

Для владельца сайта последствия не сводятся к технической поломке. Через такие уязвимости уходят учётные данные редакторов и подписчиков, а сам ресурс превращается в площадку для размещения постороннего содержимого. Бюджетным и образовательным организациям это грозит ещё и разбирательством с регулятором, если среди утекших сведений есть персональные данные. Установка исправления редко занимает больше часа, а разбор последствий растягивается на недели.

Обновление закрывает вопрос целиком. Ядро поднимают до 4.4.27, Crayons - до 3.5.0, Simple logs - до 2.3.0. Установить их можно через spip_loader версии 8.0.5, загрузчик обновлений публикуется на get.spip.net. Свежие версии плагинов разработчики называют обязательным дополнением к ядру, а не заменой ему. Версию 4.4.26 пропустили из-за мелкой ошибки, найденной в последний момент, поэтому такого номера не существует. Обновлённое ядро работает с PHP версий от 7.4 до 8.5.

После установки стоит навести порядок. Пароли администраторов меняют, список учётных записей проверяют, активные сессии сбрасывают. Часть уязвимостей связана с восстановлением служебных значений и слабых паролей, поэтому старые учётные данные разумно считать скомпрометированными. Полезно просмотреть журналы на предмет обращений к плагинам Crayons и Simple logs и убедиться, что в папках загрузок нет незнакомых документов. О находках сообщили исследователи 0xkidz, gaspard, Doston и Thomas Sanzey.

Плагины остаются самым слабым местом подобных платформ. Ядро обновляют по привычке, а расширения живут на сайте годами и внимания не получают. Здесь два плагина из общей экосистемы дали полный обход аутентификации и доступ к файлам. Регулярная инвентаризация расширений и проверка их версий значат для безопасности не меньше, чем своевременное обновление самого движка.

Ссылки

Комментарии: 0