CVE-2019-9978

WordPress Social Warfare Plugin

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2021-11-03

Официальное описание

WordPress Social Warfare plugin contains a cross-site scripting (XSS) vulnerability that allows for remote code execution. This vulnerability affects Social Warfare and Social Warfare Pro.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость (XSS) в плагинах Social Warfare и Social Warfare Pro для WordPress позволяет злоумышленнику внедрить вредоносный JavaScript-код через параметр via в шорткоде [social_warfare].

  • Как это используют: Злоумышленник может создать пост или страницу с вредоносным шорткодом. Когда администратор WordPress просматривает эту страницу в панели управления (админ-панели), скрипт выполняется в контексте администратора. Это может привести к краже сессионных куки, изменению настроек сайта или созданию новых административных учетных записей для получения полного контроля над сайтом (Remote Code Execution).

Как исправить

Решение: Обновить плагин до исправленной версии.

  1. Определите установленную версию плагина:

    • В админ-панели WordPress перейдите в раздел Плагины.
    • Найдите в списке "Social Warfare" или "Social Warfare Pro" и проверьте его версию.
  2. Обновите плагин:

    • Для Social Warfare (бесплатный): Обновите до версии 3.5.3 или новее.
    • Для Social Warfare Pro (премиум): Обновите до версии 3.5.3 или новее.

    Способ обновления (через админ-панель): * Перейдите в Консоль → Обновления. * Если обновление доступно, выберите плагин "Social Warfare" и нажмите Обновить плагины. * Для Social Warfare Pro обновление может приходить по email от команды поддержки или быть доступно в вашем аккаунте на сайте разработчика.

    Способ обновления (вручную через CLI/WP-CLI): ```bash

    Перейдите в корневую директорию вашего сайта WordPress

    cd /var/www/your_site/

    Обновите конкретный плагин с помощью WP-CLI

    wp plugin update social-warfare `` *(Если у вас установлен Social Warfare Pro, его slug может отличаться, например,social-warfare-pro`)*

  3. Проверьте обновление:

    • После обновления убедитесь, что в списке плагинов отображается версия 3.5.3 или выше.

Временное решение

Если немедленное обновление невозможно, выполните следующие действия:

  1. Полностью отключите уязвимый плагин.

    • В админ-панели WordPress перейдите в Плагины.
    • Найдите "Social Warfare" или "Social Warfare Pro".
    • Нажмите Деактивировать, а затем Удалить (если это допустимо для функциональности сайта).
    • Через WP-CLI: bash wp plugin deactivate social-warfare # или для удаления wp plugin delete social-warfare
  2. Настройте правила WAF (Web Application Firewall):

    • Если вы используете WAF (например, Cloudflare, ModSecurity), добавьте правило для блокировки XSS-атак, нацеленных на параметр via в запросах.
    • Пример правила для ModSecurity (CRS): Активируйте готовые правила из набора OWASP Core Rule Set (CRS), относящиеся к обнаружению XSS (например, правила с id 941xxx). Они должны блокировать подобные инъекции.
  3. Ограничьте доступ к админ-панели:

    • Настройте доступ к /wp-admin/ только с доверенных IP-адресов через .htaccess (Apache) или конфиг Nginx.
    • Пример для .htaccess в директории /wp-admin/: apache Order Deny,Allow Deny from all Allow from 192.168.1.100 # Ваш доверенный IP Allow from 203.0.113.50 # Другой доверенный IP
    • Используйте VPN для доступа к админке.