
afl fuzzer instrumentation का उपयोग करके पुनरुत्पादित! antonio-morales को शाबाशी!
CVE-2019-13288 एक भेद्यता है जो Xpdf संस्करण 4.01.01 में, विशेष रूप से Parser.cc में Parser::getObj() फ़ंक्शन के भीतर पहचानी गई है। यह दोष एक विशेष रूप से तैयार की गई PDF फ़ाइल को संसाधित करते समय अनंत पुनरावृत्ति का कारण बन सकता है, जिसके परिणामस्वरूप सेवा से वंचित (DoS) की स्थिति उत्पन्न होती है। यह भेद्यता CVE-2018-16646 के समान है और पुनरावर्ती फ़ंक्शनों में मजबूत इनपुट सत्यापन के महत्व को रेखांकित करती है।
CVE आईडी: CVE-2019-13288
प्रभावित सॉफ्टवेयर: Xpdf 4.01.01
भेद्यता प्रकार: अनियंत्रित पुनरावृत्ति (CWE-674)
प्रभाव: सेवा से वंचित (DoS)
CVSS v3.0 आधार स्कोर: 5.5 (मध्यम)
Parser::getObj()Parser::getObj() फ़ंक्शन PDF फ़ाइल के भीतर वस्तुओं को पार्स करने के लिए जिम्मेदार है। Xpdf 4.01.01 में, इस फ़ंक्शन में अनंत पुनरावृत्ति को रोकने के लिए पर्याप्त जाँच का अभाव है। एक हमलावर एक दुर्भावनापूर्ण वस्तु संरचना वाली PDF फ़ाइल तैयार कर सकता है जो getObj() को बिना समाप्ति के स्वयं को पुनरावर्ती रूप से कॉल करने का कारण बनती है, जिससे स्टैक समाप्त हो जाता है और एप्लिकेशन क्रैश हो जाता है।
एक हमलावर एक विशिष्ट वस्तु संरचना के साथ एक दुर्भावनापूर्ण PDF फ़ाइल तैयार करता है जो Parser::getObj() फ़ंक्शन में अनंत पुनरावृत्ति को ट्रिगर करने के लिए डिज़ाइन की गई है। जब इस फ़ाइल को Xpdf या इसकी लाइब्रेरी का उपयोग करने वाले किसी भी एप्लिकेशन द्वारा संसाधित किया जाता है, तो एप्लिकेशन एक अंतहीन पुनरावर्ती लूप में प्रवेश करता है, सिस्टम संसाधनों का उपभोग करता है और अंततः क्रैश हो जाता है।
इस भेद्यता को प्रदर्शित करने वाली एक प्रमाण-अवधारणा (PoC) PDF फ़ाइल इस रेपो में नीचे उपलब्ध है।
इसे कैसे दोहराया गया, यह देखने के लिए चरण-दर-चरण नीचे देखें:
नोट: यह PoC केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए है। स्पष्ट अनुमति के बिना सिस्टम के विरुद्ध अनधिकृत उपयोग अनैतिक है और अवैध हो सकता है। बुरा मत बनो!
यह विश्लेषण Antonio Morales' Fuzzing101 गाइड में प्रस्तुत पद्धतियों से प्रेरित था। भेद्यता प्रारंभ में फ़ज़िंग तकनीकों के माध्यम से पहचानी गई थी, जो छिपे हुए सॉफ़्टवेयर दोषों को उजागर करने में ऐसे दृष्टिकोणों की प्रभावशीलता को उजागर करती है।
यह जानकारी केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रदान की गई है। लेखक यहां निहित जानकारी के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है। किसी भी सिस्टम पर भेद्यताओं का परीक्षण या शोषण करने से पहले हमेशा उचित प्राधिकरण सुनिश्चित करें।