🔍 CVE-2026-75520

5.4
CVSS Score
MEDIUM
2026-10-28
2026-11-03 14:17
✅ 완료

🇰🇷 한글 설명

Domoticz는 Linux, Windows, macOS, Raspberry Pi에서 동작하는 오픈소스 홈 자동화 시스템입니다. 2026.3 이전 버전에서는 udevices JSON 명령 처리기(Cmd_UpdateDevices)가 세션 권한 검사 없이 Lua 파서 스크립트를 실행하며, script 매개변수에 경로 순회 방어가 없어 저권한 인증 사용자가 관리자가 설치한 기존 Lua 스크립트를 임의 입력과 함께 실행할 수 있습니다. 임의 코드 실행은 아니며, 파일 쓰기 및 업로드는 관리자 권한이 필요합니다.

💡 쉬운 설명

로그인한 일반 사용자가 관리자가 미리 설치해 둔 자동화 스크립트를 몰래 실행시킬 수 있는 취약점입니다. 새로운 악성 코드를 올리거나 시스템을 완전히 장악할 수는 없습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Domoticz 2026.3 이전 버전 (Linux, Windows, macOS, Raspberry Pi)

⚔️ 공격 벡터

낮은 권한으로 인증된 사용자가 GET /json.htm?type=command&param=udevices 요청에 script 매개변수를 조작해 설치된 Lua 스크립트를 실행

🛡️ 대응 방법

Domoticz를 2026.3 이상 버전으로 업데이트하고, 신뢰할 수 없는 사용자 계정을 점검 및 제한

🔧 검증 코드

출력된 버전이 2026.3 미만이면 취약하며, 2026.3 이상이면 패치가 적용된 것입니다 (기본 포트 8080 기준, 환경에 맞게 수정).

Shell / Script
curl -s http://localhost:8080/json.htm?type=command&param=getversion | grep -o '"version" *: *"[^"]*"'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N