CVE-2026-31978
CVE-2026-31978 · motionEye: Arbitrary File Read via Path Traversal in Picture/Movie Preview Endpoint
This page contains facts from public vulnerability sources. Check the original advisory before updating.
motionEye (mEye) is an online interface for motion software, which is a video surveillance program with motion detection. Versions prior to 0.44.0 are vulnerable to path traversal in the picture and movie API endpoints, suhc as /picture/{id}/preview/{filename}. Neither the API handlers, nor the mediafiles.py functions such as get_media_preview() check for .. sequences in the filename parameter, except for get_media_content(). This allows an authenticated user with normal (non-admin) privileges to read arbitrary files from the filesystem as the motionEye process user, such as: /etc/passwd, /etc/shadow, motionEye config files containing password hashes and plaintext passwords, SSH keys, and other cameras' surveillance footage. This issue has been fixed in version 0.44.0.
CVSS 6.5 · Medium · EPSS 0.3% · Fix available
- Published
- Updated
Stack: python
Affected products and versions
motioneye
- Versions
- < 0.44.0: Affected
No fix published
motioneye PyPI
- Versions
- 0.27
- 0.27.1
- 0.27.2
- 0.28
- 0.28.1
- 0.28.2
- 0.28.3
- 0.29
- 0.29.1
- 0.29rc1
- 0.29rc2
- 0.30
- 0.30rc1
- 0.30rc2
- 0.31
- 0.31.1
- 0.31.2
- 0.31.3
- 0.31.4
- 0.31.5
- 0.32
- 0.32.1
- 0.32.2
- 0.33
- 0.33.1
- 0.33.2
- 0.33.3
- 0.33.4
- 0.34
- 0.34.1
- 0.34rc1
- 0.35
- 0.35.1
- 0.35.2
- 0.35rc1
- 0.36
- 0.36.1
- 0.37
- 0.37.1
- 0.37rc1
- 0.38
- 0.38.1
- 0.39
- 0.39.1
- 0.39.2
- 0.39.3
- 0.40
- 0.40rc1
- 0.40rc2
- 0.40rc3
- 0.40rc4
- 0.40rc5
- 0.41
- 0.41rc1
- 0.42
- 0.42.1
- 0.43.1
- 0.43.1b1
- 0.43.1b2
- 0.43.1b3
- 0.43.1b4
- 0.43.1b5
- 0.44.0b1
- 0.44.0b2
- 0.44.0b3
- Affected ranges
- ECOSYSTEM: < 0.44.0
Update to 0.44.0