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发布预警
0x09 参考链接
pppd: Fix bounds check in EAP code · pauzlusmack/ppp@8d7970b
NVD – CVE-2020-8597
Critical PPP Daemon Flaw Opens Most Linux Systems to Remote Hackers
ppp-2.4.5-34.el7_7.x86_64.rpm CentOS 7 Download
文章原文链接:https://www.anquanke.com/post/id/200390