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