
Linux कर्नेल CVE-2022-1015 के लिए स्थानीय विशेषाधिकार वृद्धि PoC
इस रिपॉजिटरी में CVE-2022-1015 के लिए स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) का एक PoC है, जो linux कर्नेल के nf_tables घटक में मुझे मिला एक बग है। इस भेद्यता और शोषण रणनीति का विस्तृत विश्लेषण आप मेरे ब्लॉग पर पढ़ सकते हैं।
अभी, एक्सप्लॉइट थोड़ा अव्यवस्थित है। क्षमा करें!
कमिट 345023b0db31 (v5.12) के बाद लेकिन कमिट 6e1acfa387b9 (v5.17) से पहले वाले कर्नेल संवेदनशील हैं।
इस एक्सप्लॉइट के किसी दिए गए संवेदनशील कर्नेल के लिए रूट शेल प्राप्त करने की संभावना बेहद कम है। आपको चेन हुक स्थानों (इनपुट बनाम आउटपुट आदि), nft_bitwise एड्रेस लीक ऑफ़सेट, और ROP गैजेट और सिंबल ऑफ़सेट के साथ प्रयोग करना होगा। मैंने 5.16-rc3+ पर परीक्षण किया और एक अलग gcc संस्करण के साथ संकलित कर्नेल बिल्ड के लिए अपना एक्सप्लॉइट गंभीरता से बदलना पड़ा।
फिर भी, मेरे ब्लॉग पोस्ट में दी गई सभी जानकारी के साथ, मुझे लगता है कि किसी दिए गए संवेदनशील कर्नेल के लिए एक्सप्लॉइट को बदलना संभव होना चाहिए।
बस make चलाएँ, और सोर्स डिरेक्टरी में एक pwn निष्पादनयोग्य दिखाई देना चाहिए। आपको libmnl और libnftnl डेवलपर पैकेज, साथ ही लक्ष्य के linux हेडर की आवश्यकता होगी।
आप उपयोग करने के लिए कर्नेल हेडर स्पष्ट रूप से निर्दिष्ट कर सकते हैं, उदाहरण के लिए make CFLAGS="-I/path/to/linux-tree/usr/include"।
यह कोड Beerware लाइसेंस के अंतर्गत वितरित किया जाता है। आप इसके साथ जो भी करते हैं उसके लिए मैं कानूनी रूप से जिम्मेदार नहीं हूँ।