Skip to main content

Domoticz EUVDEUVD-2026-112548

| CVE-2026-75520 MEDIUM
Path Traversal (CWE-22)
2026-10-28 GitHub_M
5.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege SWITCHER user
  2. Delivery
    Send GET /json.htm?type=command&param=udevices
  3. Exploit
    Bypass missing session.rights check
  4. Execution
    Invoke operator-installed Lua parser with attacker input
  5. Impact
    Trigger 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&param=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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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&param=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

Domoticz ≤ 2026.2

Affected Packages

euvd domoticz no fix

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

Vendor (GitHub_M) PRIMARY 5.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

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

Prevalence
Low
niche open-source home-automation software, mainly hobbyist/self-hosted, minimal enterprise footprint
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy