
CVE-2020-8597 का दस्तावेजीकरण करने वाला विश्वविद्यालय असाइनमेंट, pppd के EAP पार्सर में स्टैक बफर ओवरफ्लो, जिसमें pppoe-server और क्लाइंट सेटअप का उपयोग करके रिमोट कोड निष्पादन शोषण प्रदर्शन शामिल है।
श्री लंका इंस्टीट्यूट ऑफ इंफॉर्मेशन टेक्नोलॉजी
असाइनमेंट 1
एम. पी. डी. एम. डायस
IT19165530
एमएलबी_डब्ल्यूडी_वाई2एस1_13.1
पॉइंट टू पॉइंट प्रोटोकॉल डेमन आरसीई
भेद्यता (CVE-2020-8597)
सिस्टम्स एंड नेटवर्क प्रोग्रामिंग– IE2012
सामग्री
परिचय
पॉइंट-टू-पॉइंट प्रोटोकॉल (PPP) एक फुल-डुप्लेक्स प्रोटोकॉल है जो सरल डेटा को लेयर 2 या डेटा-लिंक बुनियादी ढांचे के माध्यम से एनकैप्सुलेट और वितरित करने की अनुमति देता है, जो डायल-अप कनेक्टिविटी से लेकर DSL ब्रॉडबैंड तक और SSL एन्क्रिप्शन को शामिल करने वाले वर्चुअल प्राइवेट नेटवर्क (VPN) तक फैला हुआ है। चूंकि ये प्रोटोकॉल पॉइंट-टू-पॉइंट संचार की अनुमति नहीं देते हैं, इसलिए PPP का उपयोग दो सीधे जुड़े नोड्स पर IP और TCP को लागू करने के लिए भी किया जाता है। Pppd एक डेमन है जिसका उपयोग यूनिक्स-जैसे ऑपरेटिंग सिस्टम पर दो नोड्स के बीच PPP सत्रों की स्थापना और सत्रों की समाप्ति का प्रबंधन करने के लिए किया जाता है।
PPP वह प्रोटोकॉल है जिसका उपयोग डायल-अप मोडेम, DSL कनेक्शन और वर्चुअल प्राइवेट नेटवर्क (VPN) जैसे पीयर टू पॉइंट टनलिंग प्रोटोकॉल (PPTP) के माध्यम से इंटरनेट कनेक्शन बनाने के लिए किया जाता है। pppd प्रोग्राम नेटवर्क से जुड़ने वाले पीयर को प्रमाणित भी कर सकता है और/या EAP जैसे विभिन्न प्रमाणीकरण प्रोटोकॉल का उपयोग करके पीयर को प्रमाणीकरण विवरण प्रदान कर सकता है।
पॉइंट-टू-पॉइंट प्रोटोकॉल डेमन (pppd) द्वारा एक्सटेंसिबल ऑथेंटिकेशन प्रोटोकॉल (EAP) पैकेट को संभालने में एक दोष के कारण, एक अप्रमाणित दूरस्थ हमलावर स्टैक बफर ओवरफ्लो का कारण बन सकता है जो लक्ष्य प्रणाली पर कोड के मनमाने निष्पादन की अनुमति दे सकता है। यह कमजोरी डेटा को मेमोरी में कॉपी करने से पहले इनपुट आकार को मान्य करने में एक गलती के कारण होती है। बशर्ते कि डेटा आकार की वैधता गलत हो, मेमोरी में यादृच्छिक डेटा कॉपी किया जा सकता है जो फ़ाइल रिसाव को ट्रिगर कर सकता है जो अनपेक्षित कोड निष्पादन में योगदान देता है।
कमजोरी eap पार्सिंग कोड लॉजिक में निहित है, विशेष रूप से eap.c में eap_request) (और eap_response) (फ़ंक्शन में, जिन्हें एक नेटवर्क इनपुट हैंडलर कॉल करता है। ये फ़ंक्शन, टाइप के रूप में पहले बाइट का उपयोग करके, एक पॉइंटर और लंबाई को इनपुट के रूप में लेते हैं। यदि फॉर्म EAPT_MD5CHAP(4) है, तो यह 1-बाइट लंबाई के एक एम्बेडेड क्षेत्र को देखता है। इस कोड में तर्क यह सुनिश्चित करने के लिए है कि एम्बेडेड अवधि पैकेट की कुल लंबाई से कम हो। इस सत्यापन के बाद, यह प्रदान किए गए डेटा (होस्टनाम) को कॉपी करने का प्रयास करता है, जो एम्बेडेड लंबाई फ़ील्ड के बाद एक स्थानीय स्टैक बफर में स्थित है। यह सीमा जांच गलत है और मनमानी डेटा लंबाई के साथ मेमोरी कॉपी होने की अनुमति देती है।
एक अतिरिक्त तार्किक त्रुटि के कारण eap_input) (फ़ंक्शन लाइन कंट्रोल प्रोटोकॉल (LCP) प्रक्रिया के दौरान यह परीक्षण नहीं करता है कि EAP हल हो गया है या नहीं। यह एक अप्रमाणित हमलावर को EAP पैकेट भेजने की अनुमति देता है, भले ही ppp ने EAP के लिए समर्थन की कमी या LCP चरण में सहमत प्री-शेयर्ड पासफ्रेज़ के साथ गैर-अनुपालन के कारण प्रमाणीकरण पर बातचीत करने से इनकार कर दिया हो। eap_input में असुरक्षित pppd कोड को अभी भी EAP पैकेट को संसाधित करना होगा और स्टैक बफर ओवरफ्लो का कारण बनना होगा। यह अप्रमाणित, अज्ञात आकार का डेटा लक्ष्य डिवाइस मेमोरी से समझौता करने के लिए उपयोग किया जा सकता है। pppd उच्च विशेषाधिकारों (सिस्टम या रूट) के साथ भी चलता है, और कर्नेल ड्राइवरों के साथ मिलकर काम करता है।
pppd प्रोग्राम का उपयोग LWIP (लाइटवेट IP) प्रोजेक्ट के साथ छोटे कंप्यूटरों पर pppd क्षमता प्रदान करने के लिए भी किया जाता है। डिफ़ॉल्ट lwIP इंस्टॉलेशन और इंस्टॉलेशन इस बफर ओवरलोड के लिए अतिसंवेदनशील नहीं हैं। हालांकि, यदि lwIP स्रोत कोड का उपयोग किया जाता है और कंपाइल टाइम पर EAP को स्पष्ट रूप से अनुमति देने के लिए संशोधित किया जाता है, तो प्रोग्राम बफर ओवरफ्लो के लिए अतिसंवेदनशील हो सकता है।
CVE-2020-8597, एक्सटेंसिबल ऑथेंटिकेशन प्रोटोकॉल (EAP) पैकेट प्रोसेसर में एक वैचारिक दोष के कारण pppd में एक बफर ओवरफ्लो बग है। एक अनधिकृत दूरस्थ हमलावर जो एक कमजोर PPP क्लाइंट या सर्वर को एक विशेष रूप से तैयार किया गया EAP पैकेट भेजता है, वह सेवा से इनकार की स्थिति या मनमाना कोड निष्पादन का कारण बन सकता है। चूंकि pppd कर्नेल ड्राइवरों के साथ मिलकर काम करता है और इसमें उच्च विशेषाधिकार भी हैं, जैसे कि डिवाइस या यहां तक कि कोर, कोई भी कोड निष्पादन उन्हीं विशेषाधिकारों के साथ भी किया जा सकता है।
भेद्यता खोजने वाले व्यक्ति का संदर्भ
IOActive सुरक्षा शोधकर्ता इल्जा वैन स्प्रुंडेल द्वारा खोजी गई, महत्वपूर्ण समस्या एक स्टैक बफर ओवरफ्लो दोष है जो pppd अनुप्रयोगों के एक्सटेंसिबल ऑथेंटिकेशन प्रोटोकॉल (EAP) मॉड्यूल पार्सर में तार्किक त्रुटि के कारण होता है, जो PPP कनेक्शन में अतिरिक्त प्रमाणीकरण विधियों के लिए समर्थन प्रदान करने वाला एक संवर्धन है।
कमजोरी, जिसे CVSS स्कोर 9.8 के साथ CVE-2020-8597 के रूप में निगरानी किया जाता है, का उपयोग अनधिकृत हमलावरों द्वारा प्रभावित उपकरणों पर दूरस्थ रूप से मनमाना कोड निष्पादित करने और उनका पूर्ण नियंत्रण प्राप्त करने के लिए किया जा सकता है।
यह कैसे पाया गया
यह कमजोरी डेटा को मेमोरी में स्थानांतरित करने से पहले इनपुट के आकार को मान्य करने में एक गलती के कारण होती है। क्योंकि डेटा आकार सत्यापन गलत है, मेमोरी में यादृच्छिक डेटा कॉपी किया जा सकता है और डेटाबेस विखंडन को ट्रिगर कर सकता है, जो संभवतः अनधिकृत कोड के निष्पादन में योगदान देता है।
भेद्यता eap पार्सिंग कोड के तर्क में पाई जाती है, विशेष रूप से eap.c में eap_request) (और eap_response) (फ़ंक्शन में, जिन्हें नेटवर्क इनपुट हैंडलर द्वारा कॉल किया जाता है।
यह निष्कर्ष निकालना गलत है कि pppd सुरक्षित है यदि EAP की अनुमति नहीं है या यदि EAP किसी दूरस्थ पीयर द्वारा पासवर्ड या पासफ्रेज़ का उपयोग करके शुरू नहीं किया गया है। ऐसा इसलिए है क्योंकि एक प्रमाणित घुसपैठिया हमेशा बफर ओवरफ्लो को प्रेरित करने के लिए एक अवांछित EAP पैकेट सबमिट करने में सक्षम हो सकता है।
भेद्यता पॉइंट-टू-पॉइंट प्रोटोकॉल (PPP) डेमन, या pppd में पहचानी गई है। PPP एक लेयर 2 प्रोटोकॉल है जिसका उपयोग डायल-अप मोडेम, DSL कनेक्शन और मोबाइल नेटवर्क सहित कई अन्य भौतिक नेटवर्कों पर कनेक्शन स्थापित करने के लिए किया जाता है। PPP को शामिल किया गया है और इसमें अतिरिक्त प्रोटोकॉल शामिल किए गए हैं, जैसे कि पॉइंट-टू-पॉइंट टनलिंग प्रोटोकॉल (PPTP) जिसका उपयोग वर्चुअल प्राइवेट नेटवर्क (VPN) में एन्क्रिप्टेड कनेक्शन प्रदान करने के लिए किया जाता है।
इस पूरी स्थिति में, SEI CERT सहयोग टीम ने सुरक्षा विश्लेषक इल्जा वैन स्प्रुंडेल (IOActive) के साथ भागीदारी की, जिन्होंने यह दोष पाया, और सॉफ्टवेयर डेवलपर पॉल मैकरेस (OZlabs) जो मुद्दे की आसानी से जांच करने और एक समाधान खोजने के लिए स्रोत कोड का प्रबंधन करते हैं। इस मुद्दे में pppd स्रोत कोड में बूलियन अभिव्यक्ति और उसके परिणामस्वरूप सशर्त बयानों के कार्यान्वयन में एक बुनियादी बफर ओवरफ्लो के कारण बफर ओवरफ्लो शामिल था। नीचे दिए गए वाक्य को अज्ञात अवधि प्रतिक्रिया की अनुमति देने और इसे स्टैक बफर में कॉपी करने के लिए मूर्ख बनाया जा सकता है। इसे आमतौर पर फ्रेम ओवरलोड या स्टैक बफर ओवरफ्लो कहा जाता है।
if (vallen >= len + sizeof(rhostname)) { // बफर rhostname में कॉपी करें
भेद्यता के लिए फिक्स उपरोक्त कथन को नीचे दिए गए बूलियन तर्क में बदलना था।
if (len-vallen >= sizeof(rhostname)) { // बफर rhostname में कॉपी करें
पॉल ने इस दोष के लिए CVE-2020-8597 जारी किया और इसे अपने द्वारा प्रबंधित स्रोत कोड में ठीक करना जारी रखा। बग को ठीक करने के लिए आवश्यक सिस्टम अपडेट एक छोटा सा है जिसमें कोड की कुछ पंक्तियों की आवश्यकता होती है। फिर भी, यह असुरक्षित तकनीक हजारों सॉफ्टवेयर परियोजनाओं की लाइब्रेरी में रहती है। इसे 100 से अधिक कंपनियों द्वारा अपनाया गया है जो घरेलू राउटर से लेकर व्यावसायिक नेटवर्क हार्डवेयर तक नेटवर्क एक्सेस डिवाइस प्रदान करती हैं। चूंकि यह कमजोरी सभी PPP क्लाइंट और सर्वर को प्रभावित करती है, यह इंटरनेट सेवा प्रदाताओं (ISP) को भी प्रभावित करती है।
यह कब पाया गया
4 मार्च 2020 को, CERT समन्वय केंद्र (CERT / CC) के शोधकर्ताओं ने पॉइंट-टू-पॉइंट प्रोटोकॉल डेमन (pppd) संस्करण 2.4.2 से 2.4.8 में महत्वपूर्ण भेद्यता के लिए भेद्यता नोट # 782301 प्रकाशित किया, जिसका खुलासा IOActive के इल्जा वैन स्प्रुंडेल को श्रेय दिया गया।
यह कितना नुकसान पहुंचा सकता है
एक कमजोर ppp क्लाइंट या सर्वर को एक अवांछित EAP पैकेट सबमिट करके, एक अनधिकृत दूरस्थ घुसपैठिया pppd तंत्र में मेमोरी भ्रष्टाचार को ट्रिगर कर सकता है, जिसके लिए मनमाना कोड निष्पादन की आवश्यकता हो सकती है।
शोधकर्ता के अनुसार, पॉइंट-टू-पॉइंट प्रोटोकॉल डेमन संस्करण 2.4.2 से 2.4.8—पिछले 17 वर्षों में प्रकाशित सभी संस्करण—इस नए दूरस्थ कोड निष्पादन बग के लिए अतिसंवेदनशील हैं। नीचे उल्लिखित कुछ सामान्यतः उपयोग किए जाने वाले, सफल लिनक्स वितरण पहले से ही प्रभावित होने की सूचना दी गई है, और कई अन्य परियोजनाएं भी प्रभावित होने की संभावना है।
डेबियन उबंटू SUSE लिनक्स फेडोरा NetBSD Red Hat Enterprise Linux
इसके अलावा, अन्य अतिसंवेदनशील अनुप्रयोगों और उपकरणों (जिनमें से कुछ नीचे उल्लिखित हैं) की संख्या जो pppd ऐप्स भेजते हैं, भी विशाल होने की संभावना है, जो हैकर्स के लिए एक व्यापक हमले की सतह प्रदान करती है।
Cisco CallManager TP-LINK उत्पाद OpenWRT एम्बेडेड OS Synology उत्पाद
पॉइंट-टू-पॉइंट प्रोटोकॉल डेमन (pppd) में एक्सटेंसिबल ऑथेंटिकेशन प्रोटोकॉल (EAP) पैकेट प्रोसेसिंग में एक दोष के कारण, एक अप्रमाणित दूरस्थ हमलावर स्टैक बफर ओवरफ्लो का कारण बन सकता है, जो लक्ष्य प्रणाली पर मनमाना कोड निष्पादन की अनुमति दे सकता है। यह भेद्यता आपूर्ति किए गए डेटा को मेमोरी में कॉपी करने से पहले इनपुट के आकार को मान्य करने में एक त्रुटि के कारण है। चूंकि डेटा आकार का सत्यापन गलत है, मेमोरी में मनमाना डेटा कॉपी किया जा सकता है और मेमोरी भ्रष्टाचार का कारण बन सकता है जो संभवतः अवांछित कोड के निष्पादन की ओर ले जाता है।
शोषण तकनीकें क्या हैं
महत्वपूर्ण मुद्दा एक स्टैक बफर ओवरफ्लो भेद्यता है जो pppd सॉफ्टवेयर के एक्सटेंसिबल ऑथेंटिकेशन प्रोटोकॉल (EAP) पैकेट पार्सर में तार्किक त्रुटि के कारण मौजूद है, जो PPP कनेक्शन में अतिरिक्त प्रमाणीकरण विधियों के लिए समर्थन प्रदान करने वाला एक विस्तार है।
इसके लिए, एक हमलावर को बस इतना करना है कि एक सीधी सीरियल लिंक, ISDN, ईथरनेट, SSH, सॉकेट CAT, PPTP, GPRS, या ATM नेटवर्क पर एक कमजोर ppp क्लाइंट या सर्वर को एक अवांछित विकृत EAP पैकेट भेजना है। इसके अतिरिक्त, चूंकि pppd अक्सर उच्च विशेषाधिकारों के साथ चलता है और कर्नेल ड्राइवरों के साथ मिलकर काम करता है, यह दोष हमलावरों को सिस्टम या रूट-स्तरीय विशेषाधिकारों के साथ दुर्भावनापूर्ण कोड निष्पादित करने की संभावित अनुमति दे सकता है। आपने कौन सी शोषण विधि चुनी
कमजोर क्लाइंट का शोषण करने के लिए दूरस्थ कोड निष्पादन विधि का उपयोग किया गया। दूरस्थ कोड निष्पादन (RCE) एक साइबर घुसपैठिए की क्षमता से संबंधित है जो किसी और द्वारा नियंत्रित डिवाइस में प्रवेश करने और उसमें संशोधन करने की क्षमता रखता है, बिना अनुमति के और यह जाने बिना कि मशीन कहाँ स्थित है। RCE एक हमलावर को मनमाना मैलवेयर (दुर्भावनापूर्ण सॉफ्टवेयर) चलाकर कंप्यूटर या सर्वर पर कब्जा करने की अनुमति देता है।
मैं एक ही कंप्यूटर पर परीक्षण करने के लिए दो वर्चुअल मशीनों का उपयोग करता हूं। एक सर्वर के रूप में और एक क्लाइंट के रूप में। वर्चुअल मशीनों को जोड़ने के लिए मैं ssh स्थापित करता हूं। उनके आईपी पतों का उपयोग करके मैं फेडोरा 29 वर्चुअल मशीन को सर्वर साइड के रूप में और काली लिनक्स वर्चुअल मशीन को कमजोर क्लाइंट साइड के रूप में जोड़ता हूं। निर्देशों के अनुसार मैं एक pppoe-सर्वर सेट करता हूं। डीबग मोड खोलने और लॉग फ़ाइल सेट करने के बाद, लॉग फ़ाइल '/etc/ppp/pppoe-server-options' में निम्नलिखित जोड़ें। फिर 'sudo pppoeconf' दर्ज करके एक pppoe-क्लाइंट सेट करें। अंत में पायथन कोड का उपयोग करके कमजोर क्लाइंट का शोषण किया जा सकता है। साथ ही, एक कमजोर ppp क्लाइंट को एक अवांछित EAP पैकेट भेजकर, दूरस्थ हमलावर pppd प्रक्रिया में मेमोरी भ्रष्टाचार का कारण बन सकता है, जो मनमाना कोड निष्पादन की अनुमति दे सकता है।
शोषण के स्क्रीनशॉट
कमजोर क्लाइंट के साथ पिंग
सर्वर पर SSH स्थापित करें
क्लाइंट साइड पर रूट एक्सेस प्राप्त करना
क्लाइंट का रूट एक्सेस प्राप्त करने के बाद
क्लाइंट साइड पर SSH सक्षम करें
क्रैश
परिणाम
निष्कर्ष
GitHub Security Lab बचाव के लिए
जब विजय सर्वपल्ली ने GitHub की नवीनतम सुरक्षा पहल पर शोध किया, तो विजय सर्वपल्ली इस मुद्दे को संबोधित करने के लिए GitHub के API और CodeQL समाधानों का लाभ उठाने के अवसरों की पहचान करना चाहते थे, और उन्होंने सॉफ्टवेयर रिपॉजिटरी उपयोगकर्ताओं को फिक्स प्रस्तावित करने के लिए कोड का उपयोग किया। उन्होंने हमारे सरकारी सुरक्षा नेता, एलन फ्रीडमैन (यूनाइटेड स्टेट्स डिपार्टमेंट ऑफ कॉमर्स में नेशनल टेलीकम्युनिकेशंस एंड इंफॉर्मेशन एडमिनिस्ट्रेशन (NTIA) में साइबर सिक्योरिटी इनिशिएटिव्स के निदेशक) से संपर्क किया, जिन्होंने GitHub सहित संगठनों की एक श्रृंखला को एक सॉफ्टवेयर बिल ऑफ मैटेरियल्स (SBOM) बनाने के लिए एक साथ रखा। एलन ने विजय सर्वपल्ली को GitHub के उन लोगों से मिलवाया जो गोपनीयता के लिए समर्पित हैं, और उन्होंने मुझे GitHub Security Lab के प्रमुख, निको वाइसमैन से संपर्क में रखा।
निको और GitHub Security Lab में उनकी अंतरराष्ट्रीय टीम ने जल्दी से अपने सुरक्षा पैचिंग तंत्र को इस समस्या के अनुकूल बनाने का एक तरीका खोज लिया। उन्होंने एक स्वचालित "रोबोट" तकनीक को ट्रिगर किया जो इस बग से प्रभावित सभी रिपॉजिटरी के मालिकों तक पहुंची। रिपॉजिटरी मालिकों को बग को ठीक करने और अपने कॉपी या फोर्क किए गए pppd प्रोग्राम के संस्करण को सुरक्षित करने के लिए बस कुछ त्वरित कदम उठाने थे। इस सामुदायिक पहल ने हमें उस मंच तक पहुंचाया जहां तकनीक ठीक की जा रही थी। इसने सुरक्षा बढ़ाने के लिए स्रोत कोड में सुधार लागू करने का एक मॉड्यूलर, समय पर दृष्टिकोण प्रदान किया। GitHub Security Lab के स्वचालित अपडेट के चार दिनों के भीतर, 1,896 रिपॉजिटरी मालिकों ने बग के विवरण प्रदान किए और उन्हें कुछ क्लिक में इसे ठीक करने का विकल्प दिया गया। इनमें से कम से कम 42 रिपॉजिटरी मालिकों ने एक स्वचालित पैच को मंजूरी दी; 13 और ने पुष्टि की है कि समस्या पहले ही ठीक हो चुकी है। स्वचालन के बिना, प्रभावित रिपॉजिटरी मालिकों से उनके ऐप्स को ठीक करने के लिए संपर्क करने में कई दिन लगेंगे।
DoD की चुनौती और सॉफ्टवेयर के भविष्य में CERT की भूमिका
एक संघीय रूप से वित्त पोषित अनुसंधान और विकास केंद्र (FFRDC) के रूप में, कार्नेगी मेलन विश्वविद्यालय के सॉफ्टवेयर इंजीनियरिंग संस्थान (SEI) और इसका CERT प्रभाग लगातार उन चुनौतियों का सामना कर रहे हैं जो अमेरिकी रक्षा विभाग (DoD) साइबरस्पेस में सामना करता है। DoD CIO टेरी हल्वरसेन, एक प्रसिद्ध साइबर सुरक्षा प्रचारक, ने AFCEA सम्मेलन में अपने भाषण में कहा कि "साइबर रक्षात्मक कार्रवाइयां और प्रतिक्रियाएं मिलीसेकंड में होंगी"। ये वांछित साइबर रक्षात्मक कार्रवाइयां मैन्युअल रूप से या बोझिल संचार प्रक्रियाओं के माध्यम से नहीं की जा सकती हैं। उन्हें सॉफ्टवेयर के माध्यम से वितरित किया जाना चाहिए और वर्तमान मैन-इन-द-लूप पैचिंग मॉडल के साथ समस्याओं को सीमित करने के लिए जितना संभव हो उतना स्वचालित किया जाना चाहिए।
पूरे संभावित खतरे प्रबंधन गतिविधियों के दौरान, हम उन स्थितियों की पहचान करने की उम्मीद करते हैं जहां हम स्रोत कोड पैचिंग को सूचना सुरक्षा कमजोरियों के खिलाफ तेज करने के लिए प्रोत्साहन (जैसे GitHub Security Lab के साथ यह साझेदारी) का लाभ उठा सकते हैं। हालांकि हम समझते हैं कि यह सूचना संरक्षण के किसी भी मुद्दे को ठीक नहीं करेगा और अच्छे कोडिंग तरीकों का विकल्प नहीं है, हम यह महसूस करते हैं कि बग प्रकाशित होने के बाद जानकारी में पाए जाने की प्रवृत्ति हो सकती है। जब जानकारी हमारे दैनिक जीवन में व्याप्त है, तो जानकारी को केवल कमजोरियों की त्वरित पहचान से संरक्षित किया जा सकता है — और, यदि संभव हो, तो पहचान और उत्तर दोनों को स्वचालित करके।
संदर्भ
• https://www.kb.cert.org/vuls/id/782301/ • https://thehackernews.com/2020/03/ppp-daemon-vulnerability.html • https://www.tenable.com/blog/cve-2020-8597-buffer-overflow-vulnerability-in-point-to-point-protocol-daemon-pppd • https://insights.sei.cmu.edu/cert/2020/03/security-automation-should-begin-at-the-source.html • https://packetstormsecurity.com/files/156802/pppd-2.4.8-Buffer-Overflow.html • https://www.drizgroup.com/driz_group_blog/what-is-remote-code-execution-attack-how-to-prevent-this-type-of-cyberattack • https://github.com/WinMin/CVE-2020-8597 • http://www.howtodoityourself.org/pppoe-server-how-to-do-it-yourself.html