NVRMini2摄像头严沉缝隙安全公告

颁布功夫 2018-09-21

缝隙编号和级别


CVE编号:CVE-2018-1149,, ,,,, , ,危险级别:严沉,, ,,,, , ,CVSS分值:厂商自评10,, ,,,, , ,官方未评定
CVE编号:CVE-2018-1150,, ,,,, , ,危险级别:严沉,, ,,,, , ,CVSS分值:厂商自评8.3,, ,,,, , ,官方未评定

影响版本


NUUO NVRMini2 3.8.0及以下版本


缝隙概述


Tenable官网上公开了关于由NUUO公司开发的摄像头系统NVRMini2存在两个严沉缝隙。。 。。。。。。
CVE-2018-1149:未经身份验证的远程仓库缓冲区溢出
CVE-2018-1150:后门
NVRMini2的结构简图如下

8827太阳集团(Macau)股份有限公司-Official website


缝隙验证


CVE-2018-1149:
NVRMini2系统对暴露出了一个HTTP接见接口http://<target>/cgi-bin/cgi_system,, ,,,, , ,通过这个接口,, ,,,, , ,拥有权限的用户能够接见到终端设备。。 。。。。。。cgi_system文件中的职能只有授权用户能够接见,, ,,,, , ,认证的步骤为比力用户接见数据Cookie字段中的PHPSESSID值和存储/tmp目录中的session文件名,, ,,,, , ,构建session文件名的代码如下:

8827太阳集团(Macau)股份有限公司-Official website


从sub_534a4返回的值为会话标识字符串。。 。。。。。。法式对该字符串长度没有作任何限度。。 。。。。。。当字符串传递到sprintf以构建tmp文件名时并没有天堑查抄。。 。。。。。。因而,, ,,,, , ,未经身份验证的攻击者能够将超长的PHPSESSID值远程传递给sprintf导致缓冲区溢出,, ,,,, , ,从而远程执行代码。。 。。。。。。
测试代码如下:

8827太阳集团(Macau)股份有限公司-Official website


测试代码会导致NVR系统会产生崩溃景象,, ,,,, , ,经过深刻分析,, ,,,, , ,也能够远程执行代码,, ,,,, , ,攻击者不仅可能节造NVR,, ,,,, , ,还能够接见和批改NVR中所有的用户凭证数据,, ,,,, , ,影响严沉。。 。。。。。。


CVE-2018-1150:
NVRMini2的PHP代码中常见的习惯为:
查抄当前PHP会话是否有效。。 。。。。。。
验证会话是否拥有在接见的页面的适当权限(即admin,, ,,,, , ,poweruser,, ,,,, , ,user,, ,,,, , ,root,, ,,,, , ,guest)。。 。。。。。。
但是,, ,,,, , ,check_session_is_valid()函数中却存在后门的代码,, ,,,, , ,函数如下:

8827太阳集团(Macau)股份有限公司-Official website


其中标识为“back door”的字样为其源码中就存在的。。 。。。。。。constant(“MOSES_FILE”) 指向的蹊径为/tmp/moses。。 。。。。。。若是/tmp/moses/存在,, ,,,, , ,则未授权的攻击者能够远程列出所有非admin的用户,, ,,,, , ,并批改他们的密码.

8827太阳集团(Macau)股份有限公司-Official website


攻击演示视频如下:

http://www.iqiyi.com/w_19s2b6hn11.html

建复建议


官方临时没有有关的规划,, ,,,, , ,建议保障设备不露出在互联网上,, ,,,, , ,并在防火墙设备上参与对摄像头HTTP服务的接见节造战术。。 。。。。。。


参考链接


https://www.tenable.com/security/research/tra-2018-25