
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-55863 is a missing authorization vulnerability in motionEye, an open-source web frontend for the motion daemon used to manage IP cameras. The ActionHandler.post() method in motioneye/handlers/action.py lacks the @BaseHandler.auth() decorator, allowing any unauthenticated remote attacker to trigger camera actions such as snapshots, recording start/stop, PTZ controls, and configured alarm scripts. All versions of motionEye prior to 0.44.0 are affected. The vulnerability was published on June 20, 2026, and carries a CVSS v3.1 base score of 5.3 (Medium) (Github Advisory).
The root cause is CWE-862 (Missing Authorization): the ActionHandler.post() method in motioneye/handlers/action.py (line 36) does not apply the @BaseHandler.auth() decorator that other sensitive handlers correctly use. Because no authentication check is enforced, any network-accessible attacker can send an unauthenticated HTTP POST request to /action/<camera_id>/<action> to invoke camera operations. The vulnerable code path handles actions including snapshot, record_start, record_stop, and arbitrary configured shell scripts via self.run_command_bg(command), which executes administrator-defined scripts (e.g., alarm triggers, lighting control). Exploitation requires only network access to the motionEye web interface (default port 8765) and knowledge of a valid camera ID (Github Advisory, motioneye Advisory).
An unauthenticated attacker can trigger camera snapshots on demand, start or stop video recordings, and — if action scripts are configured — execute PTZ movement, alarm control, and lighting changes, constituting a physical security bypass. If remote cameras are configured, the vulnerability can be abused for Server-Side Request Forgery (SSRF) by triggering actions that cause the motionEye server to contact remote camera endpoints. The integrity impact is low (no direct data exfiltration or code execution beyond predefined scripts), but the physical-world consequences of unauthorized alarm and camera manipulation can be significant in security-sensitive deployments (Github Advisory).
The vulnerability requires no authentication, no user interaction, and low attack complexity, making it trivially exploitable by any attacker with network access to the motionEye web interface. Exploitation was dynamically confirmed on v0.43.1 in a Docker lab environment, where a POST to /action/2/snapshot with no credentials returned HTTP 200 and processed the action. No public exploit kits or threat actor attribution have been reported, and the CVE status remains Reserved. The vulnerability has been detected by Qualys scanners. No CISA KEV listing or EPSS score data is currently available (Github Advisory, motioneye Advisory).
POST /action/1/snapshot HTTP/1.1
Host: motioneye-host:8765
Content-Length: 0A {} HTTP 200 response confirms the action was executed without credentials.
4. Trigger recording or action scripts: Send similar unauthenticated POST requests for other actions:
POST /action/1/record_start HTTP/1.1
POST /action/1/alarm_on HTTP/1.1
POST /action/1/light_on HTTP/1.1run_command_bg() without any authentication check, potentially enabling physical security bypass or SSRF against remote camera endpoints (Github Advisory, motioneye Advisory)./action/<integer>/<action_name> on port 8765 (or configured motionEye port) from unauthenticated or unknown source IPs; repeated requests cycling through camera IDs (1, 2, 3, ...) suggesting enumeration./action/ endpoints with HTTP 200 responses from IPs not associated with legitimate users; absence of authentication tokens or session cookies in these requests.Upgrade motionEye to version 0.44.0 or later, which adds the @BaseHandler.auth() decorator to the ActionHandler.post() method, enforcing authentication for all camera action requests. As a temporary workaround, restrict network access to the motionEye web interface (default port 8765) using firewall rules or a reverse proxy with authentication, limiting exposure to trusted IP ranges only. There is no configuration-based workaround within motionEye itself for versions below 0.44.0 (Github Advisory, motioneye Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."