0x00 事件描述
Samba作为Linux和UNIX系统上实现SMB协议的一个免费软件,在*nix领域有很广泛的应用场景。
2017年9月,360 Gear Team的安全研究员(连一汉,胡智斌)发现Samba SMB1协议存在UAF漏洞,影响Samba 4.0.0之前的版本,漏洞编号为CVE-2017-14746。
2017年11月21日,RedHat官方披露了CVE-2017-15275,该漏洞可造成内存泄露,攻击者可以精心构造恶意请求发送到受影响版本的服务器,可获取内存中的敏感数据。
SMB官方已于2017年11月21日针对上述两个漏洞发布更新包以及patch。
360CERT强烈建议使用Samba软件的用户尽快进行安全更新。
0x01 事件影响面
影响等级
漏洞风险等级较高,影响范围较广
影响版本和产品
CVE-2017-14746:
All versions of Samba from 4.0.0 onwards.
Platform | Package | State |
---|---|---|
Red Hat Gluster Storage 3.3 | samba | Affected |
Red Hat Enterprise Linux 7 | samba | Affected |
Red Hat Enterprise Linux 6 | samba | Not affected |
Red Hat Enterprise Linux 6 | samba4 | Affected |
Red Hat Enterprise Linux 5 | samba | Not affected |
CVE-2017-15275:
All versions of Samba from 3.6.0 onwards.
Platform | Package | State |
---|---|---|
Red Hat Gluster Storage 3 | samba | Affected |
Red Hat Enterprise Linux 7 | samba | Affected |
Red Hat Enterprise Linux 6 | samba | Will not fix |
Red Hat Enterprise Linux 6 | samba4 | Affected |
Red Hat Enterprise Linux 5 | samba | Will not fix |
修复版本
Samba 4.7.3, 4.6.11 and 4.5.15
0x02 漏洞详情
CVE-2017-14746:
Samba SMB1协议存在use after free漏洞,可以通过重新分配的堆指针来控制堆上的信息,攻击者可能通过该漏洞对SMB服务器进行攻击。
CVE-2017-15275:
在Samba v3.6.0 会造成堆内存信息泄漏,其中服务器分配的堆内存可能在未经清除的情况下返回给客户机。
官方表示没有已知的与此相关联的漏洞,但是未清除的堆内存可能包含先前使用的数据,可能有助于攻击者通过其他方法危及服务器。未清除的堆内存可能包含的密码哈希值或其他高价值数据。
0x03 修复方案
1、针对CVE-2017-14746和CVE-2017-15275,强烈建议所有受影响用户,及时更新官方补丁,或者更新到已修复版本。
补丁地址:http://www.samba.org/samba/security/
2、针对CVE-2017-14746,可以使用SMB2协议,在smb.conf的[global]里设置"server min protocol = SMB2_02",并重启smbd。 需要注意的是这可能导致之前的用户无法连接到服务器。
0x04 时间线
2017-09-19 Qihoo 360 GearTeam 报告CVE-2017-14746漏洞
2017-11-21 RedHat披露漏洞收录入库,SMB发布对应安全更新
2017-11-22 360CERT发布预警通告
0x05 参考资料
https://access.redhat.com/security/cve/CVE-2017-14746
https://www.samba.org/samba/security/CVE-2017-14746.html