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).

Временные меры

Если немедленное обновление невозможно, необходимо минимизировать риски с помощью следующих шагов:

  1. Отключение функции Camera Upload: В настройках сервера временно отключите возможность загрузки фотографий с мобильных устройств для всех пользователей.

  2. Ограничение доступа к администрированию: Убедитесь, что доступ к учетной записи администратора защищен сложным паролем и включена двухфакторная аутентификация (2FA).

  3. Принцип минимальных привилегий: Запускайте службу Plex Media Server от имени специально созданного пользователя с ограниченными правами в системе, а не от имени «root» или «Administrator».

Пример изменения владельца директории в Linux (для снижения ущерба):

sudo chown -R plex:plex /var/lib/plexmediaserver

  1. Сетевое экранирование: Ограничьте доступ к порту управления (по умолчанию TCP 32400) только доверенными IP-адресами с помощью межсетевого экрана.

Пример ограничения доступа через ufw:

sudo ufw allow from 192.168.1.0/24 to any port 32400