CVE-2020-5741
Plex Media Server
2023-03-10
Plex Media Server contains a remote code execution vulnerability that allows an attacker with access to the server administrator's Plex account to upload a malicious file via the Camera Upload feature and have the media server execute it.
Технический анализ и план устранения
Суть уязвимости
CVE-2020-5741 представляет собой критическую уязвимость типа Remote Code Execution (RCE) в Plex Media Server (PMS) для Windows, macOS и Linux. Проблема заключается в десериализации данных и недостаточной проверке путей при использовании функции «Camera Upload».
Злоумышленник, имеющий доступ к учетной записи администратора сервера (или укравший токен аутентификации), может загрузить специально подготовленный Python-скрипт под видом медиафайла. Используя манипуляцию путями, атакующий заставляет сервер выполнить этот скрипт от имени процесса Plex Media Server, что ведет к полному захвату системы.
Как исправить
Основным способом устранения уязвимости является обновление Plex Media Server до версии 1.19.3 или выше. В этих версиях добавлены дополнительные проверки прав доступа и валидация загружаемых файлов.
Для систем на базе Debian/Ubuntu:
sudo apt update && sudo apt install --only-upgrade plexmediaserver
Для систем на базе RHEL/CentOS:
sudo yum update plexmediaserver
Для Windows/macOS: 1. Откройте веб-интерфейс Plex (Plex Web App). 2. Перейдите в «Настройки» (Settings) -> «Сервер» (Server) -> «Общие» (General). 3. Нажмите кнопку «Проверить наличие обновлений» (Check for Updates). 4. Нажмите «Установить обновление» (Install Update).
Временные меры
Если немедленное обновление невозможно, необходимо минимизировать риски с помощью следующих шагов:
-
Отключение функции Camera Upload: В настройках сервера временно отключите возможность загрузки фотографий с мобильных устройств для всех пользователей.
-
Ограничение доступа к администрированию: Убедитесь, что доступ к учетной записи администратора защищен сложным паролем и включена двухфакторная аутентификация (2FA).
-
Принцип минимальных привилегий: Запускайте службу Plex Media Server от имени специально созданного пользователя с ограниченными правами в системе, а не от имени «root» или «Administrator».
Пример изменения владельца директории в Linux (для снижения ущерба):
sudo chown -R plex:plex /var/lib/plexmediaserver
- Сетевое экранирование: Ограничьте доступ к порту управления (по умолчанию TCP 32400) только доверенными IP-адресами с помощью межсетевого экрана.
Пример ограничения доступа через ufw:
sudo ufw allow from 192.168.1.0/24 to any port 32400