CVE-2026-31978
motionEye: Arbitrary File Read via Path Traversal in Picture/Movie Preview Endpoint
Record summary
CVE-2026-31978 has a selected CVSS score of 6.5 (medium).
Description
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.
Exploitation context
CISA SSVC decision
CISA Coordinator · SSVC 2.0.3 · Evaluated Jun 25, 2026 · Source: CVE List
Affected products and versions
2| Product | Source | Version range | Status |
|---|---|---|---|
motioneyeBrowse motioneye-project / motioneye | CVE List | < 0.44.0 | affected |
motioneyeBrowse PyPI / motioneye | GitHub Advisory | Before 0.44.0 · Fixed in 0.44.0 | affected |