0x01 漏洞背景
2020年03月06日,360CERT监测发现,国外安全研究员Ilja Van Sprundel(IOActive)发现 PPPD 程序中存在一枚缓冲区溢出漏洞。
该漏洞 CVSS 评分 9.8,影响软件版本跨度长达17年。攻击者可以通过特制的流量包,远程攻击开放 PPPD 服务的服务器。因为 PPPD 通常以root(unix最高权限)运行,攻击成功可完全取得服务器控制权限。
0x02 风险等级
360CERT对该漏洞进行评定
评定方式 | 等级 |
---|---|
威胁等级 | 严重 |
影响面 | 广泛 |
Centos yum 包管理器中有如下软件依赖 ppp 服务
- NetworkManager-l2tp
- NetworkManager-ppp
- NetworkManager-pptp
- modem-manager-gui-cm-pppd
- openfortivpn
- pptp
- pptpdrp-pppoe
- trinity-kppp
- wvdial
- xl2tpd
360CERT建议广大用户及时更新 ppp 软件包版本。做好资产 自查/自检/预防 工作,以免遭受攻击。
0x03 补丁分析
./pppd.h:816:#define BCOPY(s, d, l) memcpy(d, s, l) pppd/eap.c:
由于之前已经验证vallen > len的条件是否成立,所以在判断vallen >= len+sizeof(rhostname)时肯定为false,进入else语句,此时如果len -vallen > sizeof(rhostname)就会在复制时造成rhostname数组溢出,所以补丁修复了判断条件。
0x04 影响版本
2.4.2 <= pppd <= 2.4.8
0x05 修复建议
ppp 软件尚未针对该漏洞发布新的 Release 版本
升级 ppp 至 8d7970b8f3db727fe798b65f3377fe6787575426 (git commit id)
debian 8 已发布 ppp 2.4.6-3.1+deb8u1 修复该漏洞
debian 9 已发布 ppp 2.4.7-1+4+deb9u1 修复该漏洞
debian 10 已发布 ppp 2.4.7-2+4.1+deb10u1 修复该漏洞
centos 已经发布 ppp 2.4.5-34 修复该漏洞
360CERT建议及时通过系统自带包管理器进行升级(yum, apt, pacman …)
0x06 相关空间测绘数据
360安全大脑-Quake网络空间测绘系统通过对全网资产测绘,发现 ppp 服务在全球均有广泛使用,而境外使用尤其突出。具体分布如下图所示。
0x07 产品侧解决方案
360城市级网络安全监测服务
360安全大脑的QUAKE资产测绘平台通过资产测绘技术手段,对该类 漏洞/事件 进行监测,请用户联系相关产品区域负责人获取对应产品。
0x08 时间线
2020-02-03 NVD收录此漏洞
2020-03-05 外媒报道此漏洞
2020-03-06 360CERT发布预警