ZeroHour

CVE-2026-46488

moderate

Cookie-Based Authentication Bypass in motionEye Prior to 0.44.0

CVSS 4.0
9.1 critical
EPSS
Published
()
Modified
AI analysis

motionEye (mEye), a web interface for the motion video-surveillance software, accepts client-controlled meye_username and meye_password_hash cookies as authentication credentials without validating them against a server-side session, so any attacker who knows a target username and its password hash can authenticate as that user by setting the cookies manually or by submitting blank credentials through the switch-user flow. The attack requires prior knowledge of the username and hash (reflected in the CVSS 'AT:P' requirement), but the administrator's username and password hash are stored in /etc/motioneye/motion.conf, which is globally readable by default, letting any local shell user harvest reusable administrator credential material. Successful impersonation allows an attacker to lock out the real account, change passwords for persistence, enumerate and destroy data, and exfiltrate camera configuration and recorded footage. All self-hosted motionEye installations running versions before 0.44.0 are affected, including hobbyist and small-business NVR setups that are frequently exposed to the internet. There is no known public proof of concept and no indication of in-the-wild exploitation, but the fix in version 0.44.0 should be treated as urgent given the critical severity rating.

What to do: Upgrade motionEye to version 0.44.0 or later immediately. Restrict access to the motionEye web UI (bind to localhost, front with a VPN or authenticated reverse proxy, or firewall the port) so unknown remote parties cannot reach the login at all. Harden /etc/motioneye/motion.conf permissions (e.g., chmod 600, owner root) to stop local users reading the admin password hash, rotate the administrator credential, and audit configs, user accounts, and stored footage for signs of prior tampering or exfiltration.

Affected
motionEye Project motionEye (mEye)< 0.44.0 (fixed in 0.44.0)
Estimated exposure
moderateroughly 5,000–20,000 internet-exposed motionEye instances, with additional unknown count on private/LAN-only deployments (order of magnitude: ~10^4, estimate) — motionEye is widely self-hosted on hobbyist and small-business NVRs (often Raspberry Pi-based), and public internet-wide scans such as Shodan have historically shown on the order of ten thousand motionEye web interfaces exposed; this is a…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

motionEye (mEye) is an online interface for a piece of software called "motion," which is a video surveillance program with motion detection. Prior to 0.44.0, motionEye accepts the client-controlled meye_username and meye_password_hash cookies as authentication material without server-side session validation. An unauthenticated attacker who knows a target username and corresponding hash can set the cookies manually or cause them to be loaded by submitting blank credentials through the switch-user authentication flow, after which the server authenticates the attacker as that user. The administrator username and password-hash value are stored in /etc/motioneye/motion.conf, which is globally readable by default, allowing a local shell user to obtain reusable administrator credential material. Successful impersonation can enable account lockout, password changes and persistence, data enumeration, data destruction, and data exfiltration. This issue is fixed in version 0.44.0.

Weakness
CWE-256, CWE-287, CWE-328, CWE-836
Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.