CVE-2020-8597:PPP Daemon高危漏洞
漏洞概述
US-CERT近日发布了一个关于影响PPP daemon (pppd)软件的存在17年之久的远程代码执行漏洞的公告。Pppd安装在大多数基于Linux的操作系统中,也为许多其他网络服务的基础。
受影响的pppd软件是Point-to-Point Protocol (PPP)的一个实现,PPP协议可以在节点之间进行通信和数据传输,主要用于建立互联网连接,比如拨号模块、DSL宽带和VPN(虚拟所有网络)。
该漏洞是由IOActive安全研究人员Ilja Van Sprundel发现的一个栈缓存溢出漏洞,漏洞原语是pppd软件的Extensible Authentication Protocol (EAP,扩展认证协议)包分析器的逻辑错误。该漏洞CVE编号为CVE-2020-8597,CVSS评分为9.8,可以由未认证的攻击者在受影响的系统中远程执行任意代码,并可以完全控制系统。
为发起攻击,攻击者只需要发送一个恶意伪造的EAP包给有漏洞的ppp客户端或服务器就可以了。此外,因为pppd一般以高权限运行,而且和kernel driver协作,因此攻击者利用该漏洞可以以system或root级权限来执行恶意代码。
该漏洞是由于在复制供应的数据到内存前验证输入大小时发生错误。由于数据大小验证是不正确的,任意数据就可以复制到内存中,并引发内存破坏,可能会导致一些恶意代码的执行。具体来看,该漏洞存在于eap分析代码的逻辑中,具体就是eap.c中的eap_request()和eap_response()函数,会被网络输入处理调用。
如果EAP被禁用或远程对等端没有使用密码协商,也不能说明pppd是不受影响的。这是由于经过认证的攻击者可能仍然可以发送EAP包来触发缓冲区溢出。
受影响的系统和设备
研究人员称受影响的P2P协议Daemon版本包括2.4.2到2.4.8,涵盖过去17年内发布的所有版本。其中一些广泛使用的、主流的Linux发布版本都受到影响,包括:
· Debian
· Ubuntu
· SUSE Linux
· Fedora
· NetBSD
· Red Hat 企业级Linux
此外,还有一些使用pppd软件扩展的应用和设备都受到该漏洞的影响,包括:
· Cisco CallManager
· TP-LINK产品
· OpenWRT嵌入式系统
· Synology (DiskStation Manager, VisualStation, Router Manager)
研究人员建议受影响的用户在补丁发布后尽快安装安全补丁。截止目前,Hacker News还没有发现相关漏洞利用的PoC代码。