Уязвимость в Magento закрыли 7 сентября, а 3834 магазина к концу месяца все еще отдавали карты покупателей. Здесь порядок проверки после критического бюллетеня на
3834 интернет-магазина на Magento и Adobe Commerce оказались взломаны через одну уязвимость, и у многих из них патч к моменту подсчета уже стоял. Исправление вышло 7 сентября 2026 года, атаки начались раньше, а то, что злоумышленники успели оставить на серверах, обновление не удалило. Скиммер на странице оплаты продолжал собирать карты покупателей уже на «обновленных» сайтах.
Вывод из этой истории простой и касается любого магазина, на Битриксе в том числе. Обновление закрывает вход, но не выгоняет того, кто уже вошел. После критической уязвимости, которую успели использовать до патча, магазин нужно проверить в 5 местах: файлы, учетные записи админки и сервера, запланированные задачи, страница оплаты и секреты, то есть пароли, ключи и токены, которые могли украсть. Ниже — порядок этой проверки и то, как она выглядит на
Что произошло с Magento
5 сентября 2026 года исследователи Sansec описали уязвимость StyleSmuggler (CVE-
28 сентября Cybernews опубликовал разбор открытого сервера атакующих. По нему видно, что делали после взлома:
- ставили на страницы оформления заказа скиммер, который перехватывал номер карты, CVV, срок действия, имя, адрес, телефон и
e-mail покупателя; - заводили на серверах дополнительные
SSH-учетки (исследователи насчитали 12 имен) и новых администраторов в самой Magento; - запускали скрытый процесс под видом системных (
kworker,fc-cache); - забирали закрытые ключи платежных шлюзов.
Каждый пункт из этого списка переживает установку патча. Патч исправляет код, через который вошли, но не трогает новых пользователей, чужие процессы, вставленный в шаблон скрипт и украденные ключи. Поэтому Adobe вместе с обновлением призвала менять учетные данные, а исследователи — считать затронутые магазины скомпрометированными и перевыпускать все секреты, доступные с сервера.
Почему это касается магазина на Битриксе
Уязвимость в Magento к Битриксу отношения не имеет. Отношение имеет сценарий, и он одинаков для любой CMS: публикация уязвимости, массовые атаки в первые дни, патч, который владельцы ставят через неделю или месяц, и закрепление злоумышленника в этом промежутке.

У
Отдельно про чужие модули. Сторонние решения из Маркетплейса обновляются не вместе с ядром, и у них свой график исправлений. Если уязвимость была в модуле, «все обновления ядра установлены» ничего не говорит о его состоянии.
Порядок проверки после критической уязвимости
Порядок важнее скорости. Если сначала сменить пароли, а потом искать бэкдор, злоумышленник увидит новые пароли через тот же бэкдор. Поэтому сначала фиксируем состояние, потом закрываем доступы, и только потом меняем секреты.
1. Снимите копию до любой чистки
Первое действие — полная копия файлов и базы в текущем виде и выгрузка логов
Копию храните отдельно от сервера. Если на нем есть чужой доступ, архив рядом с сайтом тоже под угрозой.
2. Файлы: что изменилось после начала атак
Начинать стоит с файлов, которые менялись после даты публикации уязвимости. Список получается длинным
# PHP-файлы, измененные после даты публикации уязвимости, без кеша
cd /var/www/example.ru
find . -name "*.php" -newermt "2026-09-04" \
-not -path "./bitrix/cache/*" \
-not -path "./bitrix/managed_cache/*" \
-not -path "./bitrix/stack_cache/*" | sort
# PHP в каталоге загрузок: здесь его быть не должно
find ./upload -type f \( -name "*.php" -o -name "*.phtml" -o -name "*.ph_" \) В eval, base64, известные .php в .ph_.
Сканеру нельзя верить без проверки ни в одну сторону. Он находит обфусцированный код, но пропускает аккуратную вставку в 2 строки в init.php, и одновременно ругается на легальный код некоторых модулей. Каждое срабатывание смотрит человек, который понимает, что делает этот файл.
3. Учетные записи админки и сервера
Злоумышленник, который получил выполнение кода, почти всегда заводит себе запасной вход. В Битриксе это новый пользователь в группе администраторов, на сервере — новый системный пользователь или чужой
-- Все пользователи в группе «Администраторы» (ID группы 1)
SELECT u.ID, u.LOGIN, u.EMAIL, u.DATE_REGISTER, u.LAST_LOGIN
FROM b_user u
JOIN b_user_group g ON g.USER_ID = u.ID
WHERE g.GROUP_ID = 1
ORDER BY u.DATE_REGISTER DESC; Каждого администратора, которого вы не можете назвать по имени, блокируйте. Обращайте внимание на дату регистрации в окне атаки и на последний вход у давно забытых учеток бывших подрядчиков: старый пароль, утекший
На сервере проверяют список пользователей с оболочкой входа, файлы authorized_keys у каждого из них и пользователей с правами sudo. В случае с Magento
4. Агенты, cron и процессы
Третье место, где прячется закрепление, — все, что запускается само. В Битриксе это агенты: строки в таблице b_agent, в поле NAME которых записан
-- Агенты: смотреть на незнакомые MODULE_ID и на NAME с eval, base64, curl
SELECT ID, MODULE_ID, NAME, ACTIVE, LAST_EXEC, NEXT_EXEC
FROM b_agent
ORDER BY ID DESC
LIMIT 50; На сервере смотрят crontab каждого пользователя, системные задания в /etc/cron.d/ и процессы. Процесс с именем kworker в списке — норма для Linux, но настоящие потоки ядра не имеют исполняемого файла на диске. Если у «kworker» есть путь к файлу в домашнем каталоге или в /tmp, это ровно то, что нашли на серверах Magento.
5. Страница оплаты: что видит покупатель
Скиммер — это скрипт, который подгружается на страницу оформления заказа и отправляет введенные данные на чужой адрес. Владелец его не замечает: магазин работает, заказы идут, деньги приходят. Узнают о нем от банка или от покупателей, у которых списали деньги в другом месте.
Проверка состоит из 3 действий. Откройте оформление заказа в браузере без авторизации и посмотрите в инструментах разработчика, на какие домены уходят запросы: все, кроме вашего, платежного шлюза, Метрики и известных вам сервисов, требует объяснения. Проверьте шаблоны сайта: header.php и footer.php в /bitrix/templates/ и /local/templates/, файл init.php, шаблоны компонента оформления заказа. Посмотрите настройки, куда можно вставить код без правки файлов: счетчики и произвольный код в настройках сайта и модулей.
Если карту покупатель вводит на странице банка или платежного сервиса, скиммеру сложнее: данных карты на странице магазина нет. Но имя, телефон, адрес и
Какие секреты сменить и в каком порядке
Секреты меняют после того, как найдены и закрыты все входы из шагов
| Что сменить | Где это в Битриксе и на сервере | На что обратить внимание |
|---|---|---|
| Пароль базы данных | Секция connections в /bitrix/.settings.php, в старых проектах еще /bitrix/php_interface/dbconn.php | Менять в базе и в обоих файлах одновременно, иначе сайт упадет |
| Пароли администраторов | Пользователи админки, особенно группа «Администраторы» | Сразу включить двухэтапную авторизацию в модуле «Проактивная защита» |
| Ключи платежных систем | Магазин, Настройки, Платежные системы: секретный ключ, пароли, токены каждой | Перевыпускать в личном кабинете платежного сервиса, потом вписывать в Битрикс |
| Обмен с 1С | Пользователь, под которым 1С ходит на сайт | Новый пароль вписать в настройках обмена на стороне 1С |
| Вебхуки и приложения | Входящие вебхуки, ключи доставки, | Удалить вебхуки, назначение которых никто не помнит |
| Почта | Секция smtp в .settings.php или настройки почтового модуля | Пароль почтового ящика сайта часто совпадает с другими сервисами |
| Доступы к серверу | Старые ключи удалить из authorized_keys, а не только добавить новые |
Список кажется длинным, но в среднем магазине, по моей оценке, это
Кого уведомить, если следы взлома нашлись
Если проверка нашла скиммер или доступ к базе покупателей, это уже не только техническая задача.
Первое: платежный сервис или
Здесь снова пригодится копия из первого шага. Без нее на вопрос «что именно утекло и с какого числа» ответить нечем.
Как сократить окно в следующий раз
Полностью убрать промежуток между публикацией уязвимости и установкой патча нельзя. Сократить его и сделать так, чтобы взлом в этом промежутке был заметен, можно.
- Подписка на бюллетени. Новости безопасности
1С-Битрикс и разработчиков установленных модулей должен читать тот, кто ставит обновления, и в тот же день. - Обновление на копии. Порядок, при котором критическое обновление проверяется на копии и ставится на бой в тот же день, описан в статье об обновлении
1С-Битрикс . - Слепок целостности заранее. Контроль целостности бесполезен после взлома, если эталона нет. Собрать его нужно сейчас, на чистом сайте, и хранить вне сервера.
- Двухэтапная авторизация. Для всех администраторов, без исключений для «своих».
- Политика загрузки скриптов. Заголовок
Content-Security-Policy на страницах оформления заказа ограничивает домены, с которых браузер выполнит скрипт. Скиммер, вставленный ссылкой на чужой домен, с ним просто не загрузится.
Мое мнение: из этих 5 пунктов недооценен третий. Слепок целостности собирается за полчаса, а без него после каждой громкой уязвимости приходится вручную разбирать тысячи файлов и гадать, какой из них изменился. Если сомнения уже есть, начать можно с самостоятельной проверки по статье о том, как проверить сайт на вирусы.
Если коротко: обновление — половина работы
Патч после критической уязвимости обязателен, но он отвечает только на вопрос «можно ли войти сейчас». На вопрос «не вошли ли раньше» отвечает проверка: копия, файлы, учетные записи, агенты и cron, страница оплаты, затем смена секретов. Такую проверку мы в


