CVE-2020-8644
PlaySMS PlaySMS
Дата обнаружения
2021-11-03
Официальное описание
PlaySMS contains a server-side template injection vulnerability that allows for remote code execution.
🛡️
Технический анализ и план устранения
Суть уязвимости
Злоумышленник может отправить специально сформированный HTTP-запрос к веб-интерфейсу PlaySMS, содержащий вредоносный шаблон. Из-за недостаточной проверки ввода на стороне сервера этот шаблон интерпретируется, что приводит к выполнению произвольных команд операционной системы с правами пользователя, под которым работает веб-сервер (например, www-data).
Как исправить
Уязвимость устранена в версиях PlaySMS 1.4.3 и выше. Необходимо обновить установленную версию.
- Сделайте резервную копию текущей установки и базы данных.
- Загрузите последнюю стабильную версию с официального сайта или репозитория:
bash wget https://github.com/playsms/playsms/archive/refs/tags/v1.4.3.tar.gz - Остановите веб-сервер (например, Apache или Nginx):
bash sudo systemctl stop apache2 - Распакуйте архив и скопируйте файлы поверх существующей установки (заменив старые файлы, кроме каталогов
configиstorage). - Запустите веб-сервер:
bash sudo systemctl start apache2 - Проверьте версию в веб-интерфейсе PlaySMS в разделе "About".
Временное решение
Если немедленное обновление невозможно, примите следующие меры:
- Ограничьте доступ к веб-интерфейсу PlaySMS с помощью правил брандмауэра (например,
iptablesилиufw), разрешив подключения только с доверенных IP-адресов (администраторов, офисной сети).bash sudo ufw allow from 192.168.1.0/24 to any port 80,443 proto tcp - Настройте WAF (Web Application Firewall), например, ModSecurity для Apache, с правилами для блокировки попыток внедрения шаблонов и выполнения команд.
- Установите файл
.htaccessв корневой каталог PlaySMS (если используется Apache) для базовой защиты, хотя это не гарантирует полной безопасности:# Запрет прямого доступа к чувствительным каталогам RewriteRule ^(config|lib|bin|storage)/ - [F,L]