
GNU InetUtils telnetd (CVE-2026-32746) में प्री-ऑथेंटिकेशन बफर ओवरफ्लो के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जिसमें अधिकृत सुरक्षा परीक्षण के लिए Docker लैब वातावरण और डिटेक्शन स्क्रिप्ट शामिल है।
GNU InetUtils telnetd के LINEMODE SLC (Set Local Characters) हैंडलर में बफर ओवरफ्लो के माध्यम से प्री-ऑथेंटिकेशन रिमोट कोड एक्ज़ीक्यूशन।
CVSS 3.1: 9.8 (क्रिटिकल) | CWE: CWE-120, CWE-787
telnetd/slc.c में add_slc() फ़ंक्शन बिना बाउंड्स जांच के प्रत्येक SLC ट्रिपलेट के लिए 3 बाइट्स को एक निश्चित 108-बाइट बफर (slcbuf) में जोड़ता है। एक अनऑथेंटिकेटेड हमलावर किसी भी लॉगिन प्रॉम्प्ट से पहले - विकल्प नेगोशिएशन के दौरान 40+ ट्रिपलेट्स (फ़ंक्शन कोड > 18/NSLC) के साथ एक क्राफ्टेड SLC सबऑप्शन भेज सकता है, जिससे बफर ओवरफ्लो होता है, BSS में slcptr पॉइंटर दूषित होता है, और जब end_slc() दूषित पॉइंटर का उपयोग करता है तो एक आर्बिट्रेरी राइट प्राप्त होता है।
# भेद्य लैब वातावरण बनाएं
docker compose up -d
# पता लगाएं (गैर-विनाशकारी)
python3 detect.py 127.0.0.1 2323
# एक्सप्लॉइट (telnetd को क्रैश करता है - भेद्यता की पुष्टि करता है)
python3 exploit.py 127.0.0.1 2323
# सफाई करें
docker compose down
Docker सेटअप xinetd के अंतर्गत inetutils-telnetd 2.4 के साथ एक Debian कंटेनर चलाता है, जो पोर्ट 2323 पर उजागर होता है। पूरी तरह से अलग - आपके होस्ट को कुछ भी स्पर्श नहीं करता।
WILL LINEMODE भेजता हैDO LINEMODE के साथ प्रतिक्रिया करता है और SLC सबऑप्शन प्रोसेसिंग में प्रवेश करता हैadd_slc() प्रत्येक ट्रिपलेट के लिए एक "समर्थित नहीं" उत्तर (3 बाइट्स) को 104-बाइट बफर में कतारबद्ध करता हैslcptr और आसन्न BSS डेटा को दूषित कर देता हैend_slc() दूषित slcptr के माध्यम से सबऑप्शन अंत मार्कर लिखता है (आर्बिट्रेरी राइट)| फ़ाइल | विवरण |
|---|---|
exploit.py | PoC क्रैश/DoS एक्सप्लॉइट |
Dockerfile | भेद्य telnetd लैब |
docker-compose.yml | एक-कमांड लैब सेटअप |
xinetd-telnet.conf | xinetd सेवा कॉन्फ़िग |
detect.py | गैर-विनाशकारी संस्करण पहचान स्क्रिप्ट |
DoS से आगे जाने के लिए, आपको यह करना होगा:
slcbuf → slcptr ऑफसेट)slcptr के माध्यम से end_slc() द्वारा लिखे गए मान को नियंत्रित करेंयह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। उन सिस्टमों के खिलाफ उपयोग न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है। लेखक दुरुपयोग के लिए ज़िम्मेदार नहीं है।
MIT