Нідерландська компанія Sansec повідомляє про масштабну кампанію, у межах якої зловмисники заразили 953 інтернет-магазини, що переважно працюють на платформі Magento (Adobe Commerce). Кампанія активна з липня 2025 року і використовує механізм CMS-блоків Magento для впровадження шкідливого JavaScript-завантажувача, який цілеспрямовано обходить автоматизовані сканери безпеки й віддає шкідливий код лише реальним покупцям. Власникам магазинів на Adobe Commerce і Magento Open Source необхідно негайно перевірити таблиці cms_block і cms_page на наявність підозрілого коду та застосувати актуальні патчі безпеки.
Механізм атаки: CMS-блоки як вектор персистентності
Зловмисники впроваджують невеликий фрагмент коду в CMS-блоки Magento — таблицю cms_block бази даних, яку використовують для рендерингу статичного контенту (шапка, підвал, промо-банери) на сторінках магазину. Під час відвідування зараженої сторінки браузер покупця звертається до сервера зловмисників, який спочатку перевіряє, чи є відвідувач реальною людиною, чи автоматизованим сканером. Сканери не отримують нічого — це ключова причина, чому кампанія довгий час залишалася непоміченою.
За даними Sansec, протягом кампанії використовувалися п’ять доменів:
manulfie[.]click— з липня 2025neswnsssn[.]click— з грудня 2025lanhd6549tdhse[.]top— з березня 2026additionalver[.]com— з червня 2026deepveindrilling[.]com— з жовтня 2026
Останній домен, зареєстрований 6 жовтня 2026 року, за даними Sansec, виявлено в CMS-блоках 83 магазинів.
Дві версії завантажувача та обхід захисту
Дослідники виявили дві версії завантажувача. Перша зберігає корисне навантаження в localStorage браузера, що забезпечує повторне виконання шкідливого коду під час подальших візитів — навіть якщо зовнішній домен зловмисників стане недоступним. Друга версія додатково використовує фінгерпринтинг браузера для фільтрації ботів і сканерів безпеки.
Ранні ітерації кампанії використовували платформу Keitaro як систему розподілу трафіку (TDS), що дозволяло повертати різні відповіді залежно від характеристик відвідувача. Найновіший домен deepveindrilling[.]com відмовився від Keitaro й інтегрував логіку фільтрації ботів безпосередньо в завантажувач.
Кінцеве корисне навантаження, яке доставляє завантажувач, на момент публікації дослідження Sansec захоплено не було. Це означає, що точний характер загрози для покупців — чи то крадіжка платіжних даних, перенаправлення або інша шкідлива активність — залишається невстановленим.
Вектори початкового доступу та суперечності в оцінці експлуатації
За оцінкою Sansec, 471 магазин було скомпрометовано через вразливість CVE-2026-48356 (PolyShell) — критичну вразливість завантаження файлів небезпечного типу (CWE-434) в Adobe Commerce з оцінкою CVSS 9.6 за даними Adobe. Ще 102 магазини, за даними Sansec, були скомпрометовані через PolyShell або CVE-2025-54236 (SessionReaper) — вразливість некоректної валідації введення з CVSS 9.1.
Тут існує важлива розбіжність: Adobe в бюлетені APSB26-73 заявляє, що компанії не було відомо про експлуатацію вразливостей, охоплених цим оновленням, у реальних атаках, тоді як Sansec безпосередньо пов’язує CVE-2026-48356 з масовим зараженням. Для CVE-2025-54236 ситуація інша — Adobe підтверджує факт експлуатації «в дикій природі». Обидві вразливості внесені до каталогу CISA KEV.
Уразливі версії Adobe Commerce для CVE-2026-48356: 2.4.9, 2.4.8-p5 і раніші, 2.4.7-p10 і раніші, 2.4.6-p15 і раніші, 2.4.5-p17 і раніші, 2.4.4-p18 і раніші.
Патчі не гарантують безпеку
Один із найтривожніших висновків дослідження Sansec: повністю пропатчений магазин на Magento 2.4.7-p10 без пропущених оновлень ядра було скомпрометовано шляхом створення підробленого облікового запису адміністратора, який згодом використали для ін’єкції шкідливого коду. Це означає, що оновлення до останньої версії — необхідна, але недостатня умова захисту. Завантажувач зберігається в таблиці бази даних, а не у файловій системі, тому видалення скрипта з файлів не усуне зараження, якщо не перевірено базу даних і не відкликано скомпрометовані облікові записи.
Зв’язок із PHP2Shell
Публікація Sansec збіглася в часі з активною експлуатацією двох критичних RCE-вразливостей у PHP — CVE-2026-109618 і CVE-2026-109619 (CVSS 9.2 кожна), відомих як PHP2Shell. За даними звіту дослідника Adel Karimi, 24 жовтня 2026 року на ханіпотах із PHP 8.4.26 під Apache mod_php було зафіксовано 35 випадків виконання shell-команд. Обидві вразливості внесені до каталогу CISA KEV. Ми вже писали про ці вразливості — вони зачіпають версії PHP до 8.2.35, 8.3.36, 8.4.27 і 8.5.12. Важливо підкреслити, що це окремий вектор загрози порівняно з кампанією з CMS-блоками Magento: PHP2Shell пов’язаний із вразливостями самого інтерпретатора PHP, тоді як Magento-кампанія експлуатує вразливості рівня застосунку.
Індикатори компрометації
Домени завантажувачів:
manulfie[.]click,neswnsssn[.]click,lanhd6549tdhse[.]topadditionalver[.]com,deepveindrilling[.]comhdfdsi84j3h[.]top,c85grt98sd[.]com
IP-адреси: 15.204.59.70, 104.28.208.84, 144.48.4.242, 162.35.99.94
Рекомендації
- Перевірте базу даних: виконайте пошук у таблицях
cms_blockіcms_pageщодо наявності патернівfpCode,se_referrer,localStorage.getItemі перелічених доменів. - Аудит облікових записів: перевірте список адміністраторів на наявність невідомих або підозрілих акаунтів — навіть на повністю оновлених системах.
- Застосуйте патчі: установіть оновлення APSB26-73 для усунення CVE-2026-48356 і переконайтеся, що раніше було застосовано патч для CVE-2025-54236.
- Оновіть PHP: до версій 8.2.35, 8.3.36, 8.4.27 або 8.5.12 для закриття вразливостей PHP2Shell.
- Посильте автентифікацію: впровадьте надійні паролі та двофакторну автентифікацію для адміністративних панелей.
Кампанія демонструє еволюцію тактик веб-скімінгу: зберігання завантажувача в базі даних CMS замість файлової системи, персистентність через localStorage браузера та активна фільтрація сканерів роблять виявлення стандартними засобами вкрай ускладненим. Власникам магазинів на Adobe Commerce і Magento слід негайно провести аудит таблиць cms_block бази даних і адміністративних облікових записів — одного лише оновлення до останньої версії платформи недостатньо, щоб гарантувати відсутність компрометації.












