cve: CVE-2016-0728 से संबंधित कोड का संग्रह (विभिन्न लेखक)
लिनक्स के अंश, बग के विकास और सुधार को दर्शाते हुए
Perception Point से एक्सप्लॉइट कोड, जिसमें प्रत्येक पंक्ति के कार्य को समझाने वाली टिप्पणियाँ जोड़ी गई हैं।
एक छोटी स्क्रिप्ट जो लीक का उपयोग करके उपयोग गणना बढ़ाती है, यह जानने के लिए उपयोगी है कि आपके सिस्टम पर बग मौजूद है या नहीं।
एक्सप्लॉइट का एक संस्करण जो syscall रैपरों को बायपास करता है (उन सिस्टमों के लिए जो keycntl रैपर लागू नहीं करते)।
जनवरी 2016 का पहला आपातकालीन पैच
इस एक्सप्लॉइट को दोहराने का सबसे अच्छा तरीका नीचे सूचीबद्ध किसी प्रभावित Linux बिल्ड का संस्करण ढूंढना है। ISO में बैक-पोर्टेड पैच हो सकते हैं, इसलिए आपको स्रोत कोड डाउनलोड करके स्वयं संकलित करना होगा।
Ubuntu के आधुनिक संस्करण (बग को बनाए रखने के लिए संपादित) पर एक्सप्लॉइट चलाने से अजीब परिणाम मिले। मैंने इसे ट्रैक करने के लिए test.c लिखा, जो keylog फ़ाइल में आउटपुट देता है। प्रोग्राम एक्सप्लॉइट से स्वतंत्र रूप से चलता है, नमूना आवृत्ति को नियंत्रित करने के लिए nanosleep का उपयोग करता है। keylog 500 नैनोसेकंड अवधि पर लगभग 1/2 सेकंड तक चलाने का आउटपुट है।
keylog फ़ाइल की व्याख्या: बायीं ओर का नंबर पुनरावृत्ति संख्या है। जब ढलान बदलता है तो यह एक मान आउटपुट करता है। tState गिनता है कि ढलान के अंतिम बदलाव के बाद से कितनी पुनरावृत्तियाँ हुई हैं। यह पूरी तरह से यादृच्छिक है और अध्ययन के योग्य नहीं है।
इस परीक्षण के लिए अप्रत्याशित आउटपुट था और कोई इंटीजर ओवरफ्लो नहीं हुआ, जिसका अर्थ है कि एक्सप्लॉइट आधुनिक संस्करण पर विफल हो जाता है, चाहे वह संपादित हो या नहीं। इसके बजाय, सूची में से किसी संस्करण को संकलित करें।
प्रभावित संस्करण
Red Hat Enterprise Linux 7
CentOS Linux 7
Scientific Linux 7
Debian Linux stable 8.x (jessie)
Debian Linux testing 9.x (stretch)
SUSE Linux Enterprise Desktop 12
SUSE Linux Enterprise Desktop 12 SP1
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server 12 SP1
SUSE Linux Enterprise Workstation Extension 12
SUSE Linux Enterprise Workstation Extension 12 SP1