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