Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege SWITCHER user
-
DeliverySend GET /json.htm?type=command¶m=udevices
-
ExploitBypass missing session.rights check
-
ExecutionInvoke operator-installed Lua parser with attacker input
-
ImpactTrigger privileged parser logic unintended for that role
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid low-privilege authenticated Domoticz account with at least SWITCHER rights (rights=1) on Domoticz 2026.2 or earlier; VIEWER/NONE accounts are rejected by the fix and anonymous access does not apply. Exploitation further requires that an operator has already installed a valid Lua parser script in the parser directory, since execution is limited to pre-existing valid .lua files loaded via luaL_loadfile - there is no low-privilege code-plant because all file-write and upload paths are ADMIN-gated. The secondary '..' path traversal only broadens reachable filenames to other existing valid Lua files and cannot introduce new code. These factors - mandatory authentication, dependence on operator-provisioned scripts, and the no-arbitrary-execution ceiling - substantially limit realistic impact below what the network vector alone suggests. |
| Impact | This is a genuine but moderate-severity authorization flaw, not a critical one. The CVSS 3.1 base score is 5.4 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N, confirmed identically by both NVD and the vendor GHSA advisory. The network vector and low complexity are real, but PR:L means a valid low-privilege authenticated account (SWITCHER, rights=1) is required - this is not a pre-auth issue. No EPSS score was provided and the CVE is not in CISA KEV, so there is no signal of active or widespread exploitation; the vuln.today decision label is 'this_month', i.e. routine patch prioritization rather than emergency. No SSVC decision fields (automatable, technical impact) were supplied. Critically, the real-world impact is bounded: the advisory and root-cause analysis state explicitly that this is NOT arbitrary code execution - execution is limited to an already-installed, operator-provisioned, valid Lua parser script, every file-write/upload path remains ADMIN-gated, and the secondary path traversal can only reach pre-existing valid Lua files that luaL_loadfile will accept. The practical worst case is a low-privilege user invoking a trusted parser with attacker-controlled input that was intended to require a higher role. Note a conflict in the input metadata: it is tagged 'RCE', but the primary source (GHSA-8rv5-x8wv-c5c4) directly contradicts this. Treat the 'RCE' label as inaccurate. |
| Exploit ScenarioDerived | An attacker holding a low-privilege Domoticz account (SWITCHER role) sends GET /json.htm?type=command¶m=udevices&script=<name> to invoke an operator-installed Lua parser script that the sibling handlers would have gated behind a higher role, feeding it attacker-controlled device input. No public working exploit code was identified in the provided sources; only the vendor advisory, patch commit, and release are referenced. Because AV:N/AC:L apply, the request is a single straightforward authenticated HTTP call, but the outcome is limited to behavior of an already-present trusted script, not new code execution. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Domoticz 2026.2 and earlier lacks a role check on the udevices JSON command handler, allowing an authenticated user with SWITCHER rights to invoke operator-installed Lua parser scripts with attacker-controlled input via GET /json.htm?type=command¶m=udevices. The secondary missing '..' guard in CLuaHandler::executeLuaScript broadens reachable existing Lua files, but execution is limited to valid pre-installed scripts and all file-write/upload paths remain ADMIN-gated, so this is not arbitrary code execution. The issue is rated CVSS 5.4 and fixed in 2026.3; no public exploit identified at time of analysis.
RemediationAI
Upgrade Domoticz to 2026.3, which includes commit 73ed0495a; the patch adds a session.rights check in Cmd_UpdateDevices that rejects VIEWER/NONE users and adds a '..' rejection in CLuaHandler::executeLuaScript so all callers of the Lua parser loader are protected. The vendor advisory is https://github.com/domoticz/domoticz/security/advisories/GHSA-8rv5-x8wv-c5c4 and the release is https://github.com/domoticz/domoticz/releases/tag/2026.3. No vendor workaround is described in the provided advisory data; updating to 2026.3 is the complete fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is an authorization asymmetry in Domoticz's JSON command dispatch. Cmd_UpdateDevices in main/WebServerCmds.cpp (the param=udevices handler) read the script and content values and called CLuaHandler::executeLuaScript without checking session.rights, whereas sibling Cmd_UpdateDevice (udevice) rejects VIEWER/NONE and Cmd_ExcecuteScript (execute_script) requires ADMIN and rejects '..'. The Lua loader constructed fullfilename from the parser directory plus the supplied script name and passed it to luaL_loadfile, so the missing traversal guard is CWE-22; however, only existing valid .lua files can be loaded, and the advisory describes CWE-862 as primary with CWE-22 secondary (the top-level CWE supplied here is CWE-22). The source metadata carries an RCE tag, but the GHSA and independent assessment explicitly state this is not arbitrary code execution. Affected CPE: cpe:2.3:a:domoticz:domoticz:*:*:*:*:*:*:*:*; advisory range is through 2026.2, fixed in 2026.3 by commit 73ed0495a.
Know when Domoticz gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Remote single HTTP request (AV:N/AC:L) by an authenticated low-privilege user (PR:L); impact is bounded to misuse of existing trusted parsers, giving limited C/I and no availability loss.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
Domoticz is a free, open source home automation system for Linux, Windows, macOS, and Raspberry Pi. Prior to 2026.3, the udevices JSON command handler, Cmd_UpdateDevices in main/WebServerCmds.cpp, performed no session.rights check before invoking a Lua parser script, while its sibling command handlers gate access by role. A low-privilege authenticated user could trigger execution of an existing operator-installed Lua parser script with attacker-controlled input through the GET /json.htm endpoint with type=command and param=udevices. The script parameter also lacked a .. path-traversal guard: CLuaHandler::executeLuaScript in main/LuaHandler.cpp constructed the filename from the parser directory and the supplied script name before passing it to luaL_loadfile. Execution is limited to already-installed valid Lua files; this is not arbitrary code execution, and the advisory states that file-write and upload paths require administrator privileges. This issue is addressed in version 2026.3.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Domoticz before 4.10578 allows SQL Injection via the idx parameter in CWebServer::GetFloorplanImage in WebServer.cpp. Ra
Domoticz before 4.10579 neglects to categorize \n and \r as insecure argument options. Rated high severity (CVSS 7.5), t
Domoticz 4.10717 has XSS via item.Name. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable, lo
Domoticz versions prior to 2026.1 contain a stored cross-site scripting (XSS) vulnerability in the web interface's Add H
Stack-based buffer overflow in Domoticz's MochadTCP component allows an unauthenticated attacker on the local network to
Stored cross-site scripting in Domoticz's mobile dashboard (all versions prior to 2026.3) allows any authenticated API u
EUVD-2026-112548
NVD
CVE.org
GitHub
Exploit-DB