SMB v1远程代码执行漏洞 (CVE-2020-1301)
漏洞描述
近日,微软发布补丁修复了一个标注为远程代码执行的SMB v1漏洞:CVE-2020-1301,漏洞影响Win7-Win10的所有版本。经分析,该漏洞发生在srv驱动模块解析SMB相关协议MS-FSCC中的FSCTL_SIS_COPYFILE请求时,没有完全验证请求中的SI_COPYFILE结构,后续引用造成了整形溢出。与之前的SMBGhost(SMBv3漏洞)相比,该漏洞出现在老版本的SMB v1中,触发需要先通过身份认证,危害等级低于CVE-2020-0796。
同时建议关闭SMB v1,由于SMB v1存在很多安全问题,如之前的永恒之蓝就是利用SMB v1漏洞。从2007年开始,SMB v2 和更高版本的协议取代了SMB v1。Microsoft 在2014年公开弃用了 SMB v1 协议。Windows 10已默认关闭SMB v1,禁用SMB v1不会对系统造成影响。
建议受影响的系统关闭SMB v1,由于SMB v1存在很多安全问题,如之前的永恒之蓝就是利用SMB v1漏洞。从2007年开始,SMB v2 和更高版本的协议取代了SMB v1。Microsoft 在2014年公开弃用了 SMB v1 协议。Windows 10已默认关闭SMB v1,禁用SMB v1不会对系统造成影响。
漏洞分析
参考微软[MS-FSCC].pdf,补丁代码位于FSCTL_SIS_COPYFILE请求的处理逻辑中:
FSCTL_SIS_COPYFILE请求使服务器使用单实例存储(SIS)筛选器复制文件。该请求包含一个SI_COPYFILE结构:
SrvSmbNtIoctl在处理SI_COPYFILE结构时,仅验证了SourceFileNameLength和DestinationFileNameLength是否有效及它们的最大值,没有验证最小值:
后续代码引用时会对两个文件名长度-2,当SourceFileNameLength或DestinationFileNameLength过小时会引发整形溢出,触发漏洞:
影响版本
Win7 -- Win10
修复建议
强烈建议进行补丁安装安全升级。受影响用户可到官网下载补丁:
https://portal.msrc.microsoft.com/zh-cn/security-guidance/advisory/CVE-2020-1301
可参照对应补丁列表进行下载安装。
推荐文章++++
*PHP imap 远程命令执行漏洞(CVE-2018-19518)