Gurux GXDLMS Director 是一个开源的 Windows 程序,用于通过 DLMS/COSEM 协议与电能表交互。
该软件具有远程更新功能,可用于更新插件 DLL 以及包含 OBIS 代码的文件(与智能电表交互所需的设备特定定义)。
| CVEID | 受影响产品及版本 | 问题类型 |
|---|---|---|
| CVE-2020-8809 | Gurux GXDLMS Director (8.5.1905.1301 之前的所有版本) | CWE-494: 无完整性检查的代码下载 |
| CVE-2020-8810 | Gurux GXDLMS Director (所有版本) | CWE-23: 相对路径遍历 |
摘要
Gurux GXDLMS Director 8.5.1905.1301 之前的所有版本均包含一个用于插件和 OBIS 代码的更新机制,该机制通过未加密的 HTTP 连接工作。此外,所有版本都存在一个路径遍历漏洞,出现在下载 OBIS 代码时。攻击者可利用这些漏洞实现代码执行。
描述
中间人攻击者(例如恶意的 Wi-Fi 网络运营商)可以通过修改 gurux.fi/obis/files.xml 和 gurux.fi/updates/updates.xml 的内容来诱使用户下载更新。然后,攻击者可以修改下载文件的内容。对于插件(如果用户正在使用),这将导致代码执行。对于 OBIS 代码(用户始终在使用,因为与电能表通信需要它们),攻击者可以通过利用路径遍历漏洞实现代码执行。
在下载 OBIS 代码时,程序不会验证下载的文件是否实际的 OBIS 代码,也不会检查路径遍历。这使得攻击者可以发送可执行文件并将其放置在自动运行目录(重启后运行)中,或者将 DLL 放置在现有的 GXDLMS Director 安装目录中(在下次执行 GXDLMS Director 时运行)。即使没有安装任何插件,这也可用于实现代码执行。
复现步骤
obis 的目录。obis/files.xml,内容如下:<files>
<file modified=”28-09-2099″ name=”Iskraemeco”>../../../../../../../../../../Users/Public/Documents/test.txt</file>
</files>
Users/Public/Documents。Users/Public/Documents/test.txt。C:\Windows\system32\drivers\etc\hosts,并添加以下行:127.0.0.1 gurux.fi(如果你的 HTTP 服务器与你的 Windows 机器不同,请将 127.0.0.1 替换为服务器的 IP)。C:\Users\Public\Documents\ 现在包含文件 test.txt。修复措施
将 Gurux GXDLMS Director 更新到最新版本。