
Kemp LoadMaster के DNS हैंडलिंग में महत्वपूर्ण बफर ओवरफ्लो के लिए प्रूफ-ऑफ-कॉन्सेप्ट, क्राफ्टेड DNS अनुरोधों के माध्यम से दूरस्थ डिनायल-ऑफ-सर्विस का कारण बनता है।
Kemp LoadMaster उपकरण (फर्मवेयर < 7.2.60) libkemplink.so लाइब्रेरी के isreverse() और locate_fqdn() विधियों में एक महत्वपूर्ण बफर ओवरफ्लो भेद्यता से ग्रस्त हैं। यह भेद्यता DNS नामों के लिए आवंटित एक अपर्याप्त 256-बाइट बफर के कारण उत्पन्न होती है, जिसका शोषण एक विशेष रूप से तैयार DNS अनुरोध भेजकर किया जा सकता है जिसमें विशेष या यूनिकोड वर्ण होते हैं।
सफल शोषण तत्काल क्रैश और सेवा अस्वीकार (DoS) स्थिति की ओर ले जाता है। स्टैक कैनरी टोकन की उपस्थिति आगे के शोषण को रोकती है, लेकिन यदि कोई हमलावर स्टैक कैनरी टोकन को लीक करने के लिए कोई अन्य भेद्यता ढूंढता है तो रिमोट कोड निष्पादन (RCE) की संभावना से इंकार नहीं किया जा सकता है।
यह भेद्यता आसानी से LoadMaster डिवाइस की उजागर DNS सेवाओं पर TCP या UDP के माध्यम से DNS अनुरोध भेजकर ट्रिगर की जाती है। एक सरल प्रूफ-ऑफ-कॉन्सेप्ट है:
dig @kempdeviceip 😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀😀😀.😀😀.com (कुछ Linux फ्लेवर पर आपको +noidnout +noidnin जोड़ने की आवश्यकता होगी)
यह शोषण DNS नाम समाधान प्रक्रिया में एक विशिष्ट चरण का लाभ उठाता है। जबकि आवंटित 256 बाइट्स का बफर नेटवर्क पर प्रेषित DNS नामों के लिए मानक अधिकतम आकार है, और प्रूफ-ऑफ-कॉन्सेप्ट इस सीमा के भीतर फिट बैठता है, विशेष और यूनिकोड वर्ण प्रसंस्करण के दौरान एस्केप होने पर आकार में विस्तारित होते हैं। इस प्रकार, एस्केप करने के बाद बफर का आकार मूल आवंटन से अधिक हो जाता है। Bind9 लाइब्रेरी का दस्तावेज़ीकरण और स्रोत कोड (जिससे DNS घटक फोर्क किया गया है) इंगित करता है कि सुरक्षित संचालन के लिए कम से कम 1004 बाइट्स के बफर की आवश्यकता है, और 1023 बाइट्स के रूढ़िवादी बफर आकार की सिफारिश की जाती है। और अधिक जानकारी के लिए, यहाँ देखें।
समयरेखा: