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