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).
Как исправить
Решение: Обновить плагин до исправленной версии.
-
Определите установленную версию плагина:
- В админ-панели WordPress перейдите в раздел Плагины.
- Найдите в списке "Social Warfare" или "Social Warfare Pro" и проверьте его версию.
-
Обновите плагин:
- Для 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.5.3 или выше.
Временное решение
Если немедленное обновление невозможно, выполните следующие действия:
-
Полностью отключите уязвимый плагин.
- В админ-панели WordPress перейдите в Плагины.
- Найдите "Social Warfare" или "Social Warfare Pro".
- Нажмите Деактивировать, а затем Удалить (если это допустимо для функциональности сайта).
- Через WP-CLI:
bash wp plugin deactivate social-warfare # или для удаления wp plugin delete social-warfare
-
Настройте правила WAF (Web Application Firewall):
- Если вы используете WAF (например, Cloudflare, ModSecurity), добавьте правило для блокировки XSS-атак, нацеленных на параметр
viaв запросах. - Пример правила для ModSecurity (CRS): Активируйте готовые правила из набора OWASP Core Rule Set (CRS), относящиеся к обнаружению XSS (например, правила с id 941xxx). Они должны блокировать подобные инъекции.
- Если вы используете WAF (например, Cloudflare, ModSecurity), добавьте правило для блокировки XSS-атак, нацеленных на параметр
-
Ограничьте доступ к админ-панели:
- Настройте доступ к
/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 для доступа к админке.
- Настройте доступ к