Уведомление о безопасности Page Builder CK (SQL-инъекция)
Если вы получили от меня письмо со ссылкой на эту страницу, значит ваш сайт, по всей
видимости, использует уязвимую версию Page Builder CK (com_pagebuilderck от Joomlack) –
расширения-конструктора страниц для системы управления содержимым Joomla. На этой странице
объясняется, почему это важно и что делать.
Речь идёт о CVE-2026-77994 – критической (CVSS 9.3) уязвимости типа SQL-инъекции. В затронутых версиях значение, сохранённое в содержимом вашей страницы, подставляется в запрос к базе данных без защиты, которая не даёт таким значениям менять смысл запроса. Это позволяет удалённому злоумышленнику – без входа в систему и без учётной записи на вашем сайте – прочитать данные из базы данных вашего сайта.
Это другая проблема, нежели более ранняя уязвимость Page Builder CK (CVE-2026-56290, ошибка загрузки файлов). Обе затрагивают одно и то же расширение; данная – это чтение базы данных, а не захват сайта.
Какие версии исправлены, а какие пока без исправления
Page Builder CK выпускается отдельными линейками для каждой версии Joomla. На момент написания этой страницы исправление данной проблемы вышло только на линейке Joomla 5/6.
| Если ваш сайт работает на… | Статус исправления | Что делать |
|---|---|---|
| Joomla 5 или 6 | Исправлено в 3.6.5 | Обновите Page Builder CK до 3.6.5 или новее |
| Joomla 4 | Нет исправленной сборки (последняя – 3.4.11, всё ещё затронута) | Перейдите на линейку Joomla 5/6 (3.6.5) или удалите расширение |
| Joomla 3 | Нет исправленной сборки (последняя – 3.1.2, всё ещё затронута) | Перейдите на линейку Joomla 5/6 (3.6.5) или удалите расширение |
Если у вас Joomla 5 или 6, это простое обновление до 3.6.5 или новее.
Если у вас Joomla 3 или 4, то на данный момент исправленной сборки Page Builder CK для вашей линейки Joomla нет – новейшие доступные версии на этих линейках по-прежнему содержат уязвимость. Обновление «до последней» в рамках вашей линейки её не устранит. Реалистичные варианты – перейти на линейку выпусков Joomla 5/6 (что означает обновление самой Joomla) либо удалить расширение Page Builder CK. Если ни то, ни другое сейчас невозможно, размещение сайта за межсетевым экраном уровня приложений считайте временной мерой, а не решением.
Это уязвимость расширения, а не ядра Joomla. Полностью обновлённое ядро Joomla не защитит вас, если само расширение Page Builder CK остаётся затронутым.
Это письмо настоящее?
Да. Это добросовестное уведомление в рамках ответственного раскрытия от независимого исследователя безопасности. Я не прошу у вас денег, паролей или доступа к сайту и не пытался в него проникнуть, что-либо ему отправить или что-либо эксплуатировать.
Всё, что я сделал, – посмотрел общедоступные файлы, которые ваш сайт отдаёт любому посетителю (так же, как публична ваша главная страница), и отметил номер версии, который расширение Page Builder CK публикует в этих файлах. Ничто в этой проверке не касается ни ваших данных, ни панели управления, ни какой-либо закрытой части сайта.
Если вы хотите убедиться, кто я, контактные данные приведены внизу этой страницы и на странице Обо мне.
Почему это важно
Page Builder CK – широко используемый конструктор страниц с перетаскиванием для Joomla. В затронутых версиях содержимое, которое Page Builder CK сохраняет для страницы, затем используется для построения запроса к базе данных при отображении страницы, без безопасного отделения от самого запроса. Злоумышленник, способный повлиять на это сохранённое содержимое – что в затронутых версиях не требует учётной записи, – может заставить запрос вернуть данные, которые он не должен возвращать, и прочитать сведения из вашей базы данных. В зависимости от того, что хранит ваш сайт, это могут быть записи пользователей, хеши паролей и секретные ключи.
Чтобы ясно обозначить границы этой проблемы: это чтение базы данных. Само по себе это не удалённое выполнение кода, и само по себе оно не даёт злоумышленнику ни учётной записи администратора, ни контроля над вашим сервером. Я говорю вам, что это такое и чем оно не является, потому что точность важнее тревоги.
Если в моём письме упоминалась эта проблема, значит версия, о которой сообщает ваш сайт, попадает в затронутый диапазон. Я не проверял, уязвим ли именно ваш сайт и были ли действительно прочитаны какие-либо данные, – я лишь наблюдал, что он сообщает о затронутой версии.
Как проверить свою версию
Верить мне на слово о том, какая у вас версия, не нужно.
Из публичного манифеста (без входа): откройте в браузере
вашдомен.ru/administrator/components/com_pagebuilderck/pagebuilderck.xml. Строка <version>
– это версия, о которой сообщает ваша установка Page Builder CK, и это тот же публичный файл,
который я читал.
Из панели управления (если у вас есть доступ):
- Войдите в панель администратора Joomla (обычно
вашдомен.ru/administrator). - Перейдите в Система, затем Управление, затем Расширения (или Расширения, затем Управление – в зависимости от версии Joomla).
- Найдите Page Builder CK и запишите установленную версию, а также отметьте, какая у вас версия Joomla (показана на панели управления администратора).
Сравните и то, и другое с таблицей выше. Поскольку исправление сейчас существует только на линейке Joomla 5/6, один лишь номер версии не говорит, доступно ли вам исправление, – об этом говорит ваша линейка Joomla.
Как это исправить
Если у вас Joomla 5 или 6:
- Сначала сделайте резервную копию сайта (файлы и база данных).
- В панели администратора Joomla откройте Расширения, затем Управление, затем Обновление, нажмите Найти обновления и установите обновление Page Builder CK, если оно есть в списке (для линейки Joomla 5/6 будет предложена версия 3.6.5 или новее).
- Если обновление там не появляется, скачайте последний выпуск у разработчика, Joomlack, по адресу https://www.joomlack.fr/en/joomla-extensions/page-builder-ck и установите его через Расширения, затем Установка.
- Подтвердите новую версию (3.6.5 или новее) по шагам выше.
Если у вас Joomla 3 или 4 (для вашей линейки исправленной сборки не существует):
- Надёжное решение – перейти на версию Joomla, для которой есть исправленный Page Builder CK, то есть обновиться до Joomla 5/6 и Page Builder CK 3.6.5; это более крупная задача, которую стоит спланировать с вашим веб-разработчиком.
- Если сделать это в ближайшее время не получается и расширение вам активно не нужно, удалите Page Builder CK.
- Лишь как временная мера межсетевой экран уровня приложений может смягчить случайные попытки, но он не заменяет удаление или исправление затронутого кода.
Заодно стоит убедиться, что сама Joomla и остальные ваши расширения актуальны.
Если у вас была затронутая версия
Эта уязвимость – чтение базы данных, которое не оставляет явных следов, так что здесь нет ни файла, ни учётной записи, которые вам нужно было бы искать, как после взлома. Стоит понимать, что обновление (или удаление расширения) закрывает брешь на будущее, но не может отменить чтение того, что уже могло быть прочитано, пока работала затронутая версия.
В качестве разумной меры предосторожности – не потому, что у меня есть какие-либо свидетельства обращения к вашему сайту, – если ваш сайт хранит что-либо чувствительное помимо опубликованного содержимого (учётные записи пользователей, данные клиентов, секреты интеграций), после устранения проблемы стоит сменить хранимые учётные данные и секретные ключи, а также просмотреть журналы доступа на предмет необычной активности запросов, если вы их ведёте.
Хочу пояснить: я не проверял ваш сайт на что-либо из этого и не знаю, были ли прочитаны какие-либо данные. Эти рекомендации приведены здесь, чтобы вы могли решить сами.
У меня нет вебмастера / я не справляюсь
Если сайтом занимаетесь не вы, перешлите, пожалуйста, эту страницу тому, кто им занимается (вашему веб-разработчику, агентству или хостинг-провайдеру). Шаги выше он узнает сразу.
Если вы ведёте сайт сами и застряли, я с удовольствием бесплатно подскажу направление. Напишите по контактам ниже.
Контакты
Evan Harris, исследователь безопасности
- Эл. почта: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Я обращаюсь по таким вопросам исключительно ради того, чтобы помочь операторам защитить свои сайты. Если вы предпочитаете больше не получать от меня писем, просто сообщите – я это учту.
Источники
Официальные бюллетени и отслеживание
Разработчик (Joomlack)