PPPD远程代码执行缝隙风险公告

颁布功夫 2020-03-06

缝隙编号和级别


CVE编号:CVE-2020-8597,危险级别:严沉,CVSS分值:9.8


影响版本


pppd 2.4.2至2.4.8 版本


缝隙概述


US-CERT 颁布安全布告称,PPP 守护过程 (pppd) 软件中存在一个已有17年之久的远程代码执行缝隙,影响险些所有基于 Linux 的操作系统以及网络设备固件。


受影响的 pppd 软件是点对点和谈(PPP,支持节点之间的通讯和数据传输)的实现,重要用于设立互联网链接如拨号调造解调器、DSL宽带衔接和虚构专用网络的衔接。


该缝隙由pppd 软件的可扩大认证和谈 (EAP) 数据包解析器中存在的一个逻辑谬误引发,可导致未认证攻击者在受影响系统上远程执行肆意代码并齐全节造系统。而攻击者要实现这一主张,必要做的不外是向易受攻击的 ppp 客户端或服务器发送体式谬误的 EAP 数据包。


另表,由于 pppd 通常以高权限运行且与内核驱动法式一路运作,因而该缝隙可能使攻击者以系统或 root 权限执行恶意代码。


安全布告指出,“将所提供数据复造到内存前,验证输入大幼时出现谬误导致缝隙产生。由于对数据大幼的验证不正确,因而可将肆意数据复造到内存中并引发内存败坏问题,可能导致执行不用要的代码。该缝隙存在于 eap 解析代码逻辑中,具体存在于网络输入句柄挪用的 eap.c 中的 eap_request() 和eap_response()函数中。”安全布告还指出,若是未启用 EAP 或远程对等方未使用密码协商EAP,则以为 pppd 不易受攻击的概想不正确,原因在于认证的攻击者可能依然可能发送未经要求的 EAP 数据包触发缓冲区溢露马脚。


缝隙验证


暂无PoC/EXP。


建复建议


ppp 软件尚未针对该缝隙颁布新的 Release 版本,请升级 ppp 至 8d7970b8f3db727fe798b65f3377fe6787575426 (git commit id):https://github.com/paulusmack/ppp/commit/8d7970b8f3db727fe798b65f3377fe6787575426。

一些宽泛使用的,盛行的Linux刊行版已经被证实受到影响,建复情况如下:



Debian:https://www.debian.org/security/2020/dsa-4632

Ubuntu:https://people.canonical.com/~ubuntu-security/cve/2020/CVE-2020-8597.html

SUSE Linux:https://www.suse.com/security/cve/CVE-2020-8597/

Fedora:https://access.redhat.com/security/cve/cve-2020-8597

NetBSD:https://cvsweb.netbsd.org/bsdweb.cgi/src/external/bsd/ppp/dist/pppd/eap.c?only_with_tag=MAIN

Red Hat Enterprise Linux:https://access.redhat.com/security/cve/cve-2020-8597

Centos:https://centos.pkgs.org/7/centos-updates-x86_64/ppp-2.4.5-34.el7_7.x86_64.rpm.html


此表,一些受到影响的利用法式和设备建复情况如下:


Cisco CallManager:https://quickview.cloudapps.cisco.com/quickview/bug/CSCvs95534/

TP-LINK 产品:https://www.tp-link.com/en/support/faq/2803/

OpenWRT Embedded OS:https://openwrt.org/advisory/2020-02-21-1

Synology(DiskStation 治理器、VisualStation、Router Manager):https://www.synology.cn/en-global/security/advisory/Synology_SA_20_02


参考链接


https://thehackernews.com/2020/03/ppp-daemon-vulnerability.html