
CVE-2026-43284 (Dirty Frag) का तकनीकी विश्लेषण, एक Linux kernel xfrm ESP स्थानीय विशेषाधिकार वृद्धि जो root समझौता के लिए read-only फ़ाइलों में page-cache लेखन को सक्षम बनाता है।
Linux कर्नेल में CVE-2026-43284 (Dirty Frag) लोकल प्रिविलेज एस्केलेशन दोष का विस्तृत तकनीकी विश्लेषण।
CVE-2026-43284 (जिसे आमतौर पर Dirty Frag vulnerability suite का हिस्सा कहा जाता है) Linux कर्नेल में एक गंभीर लोकल प्रिविलेज एस्केलेशन (LPE) दोष है। यह xfrm ESP (Encapsulating Security Payload) इनपुट सबसिस्टम के भीतर एक लॉजिक दोष से उत्पन्न होता है। यह बग एक लोकल, अनप्रिविलेज्ड हमलावर को सामान्य Copy-on-Write (CoW) सुरक्षा को बायपास करने और रीड-ओनली सिस्टम फ़ाइलों (जैसे /usr/bin/su) में एक आर्बिट्ररी पेज-कैश राइट प्रिमिटिव प्राप्त करने की अनुमति देता है, जो अंततः पूर्ण रूट कम्प्रोमाइज़ की ओर ले जाता है।
Vulnerability Breakdown & Attack Vector1.
The Constraint: कर्नेल के IPsec कॉन्फ़िगरेशन के साथ इंटरैक्ट करने के लिए सामान्यतः CAP_NET_ADMIN क्षमता की आवश्यकता होती है, जो सामान्य उपयोगकर्ता के लिए प्रतिबंधित विशेषाधिकार है। The Bypass: एक लोकल अनप्रिविलेज्ड उपयोगकर्ता एक अलग अनप्रिविलेज्ड User Namespace और Network Namespace बना सकता है (CLONE_NEWUSER | CLONE_NEWNET जैसे फ्लैग्स का उपयोग करके)। इस पृथक अनप्रिविलेज्ड कंटेनर स्पेस के भीतर, हमलावर उस नेमस्पेस की "root" प्रोसेस बन जाता है, जो उन्हें उस सीमित संदर्भ में CAP_NET_ADMIN विशेषाधिकार प्रदान करता है।
कस्टम नेटवर्क नेमस्पेस के भीतर CAP_NET_ADMIN के साथ, हमलावर एक नकली Security Association (SA) और IPsec पॉलिसियाँ कॉन्फ़िगर करता है।
splice(2) या vmsplice(2) जैसे सिस्टम कॉल्स का उपयोग करके, हमलावर एक लक्षित रीड-ओनली फ़ाइल (जैसे, /usr/bin/su) से संबंधित पेजों को एक सॉकेट बफ़र (skb) फ्रैगमेंट में संलग्न करता है।
The Constraint: हमलावर को कर्नेल को esp_input() रूटीन के माध्यम से डेटा पार्स करने के लिए बाध्य करना होगा।
The Strategy: हमलावर एक ESP-in-UDP एनकैप्सुलेशन नेटवर्क संरचना बनाता है और ट्रांसमिशन को होस्ट के लूपबैक इंटरफ़ेस (127.0.0.1) पर निर्देशित करता है।
जब पैकेट लूपबैक चैनल के माध्यम से स्थानीय रूप से प्राप्त होता है, तो कर्नेल का नेटवर्किंग स्टैक UDP पैकेट रैपर की पहचान करता है, उसे डीकैप्सुलेट करता है, और आंतरिक पेलोड को प्रोसेसिंग के लिए esp_input() को सौंप देता है।
IPv4/IPv6 डेटाग्राम अपेंड पाथ में एक लॉजिक बग के कारण, UDP सॉकेट्स में पेजों को स्प्लाइस करते समय कर्नेल अंतर्निहित सॉकेट बफ़र फ्रैगमेंट्स को SKBFL_SHARED_FRAG फ्लैग के साथ ठीक से चिह्नित करने में विफल रहता है।
परिणामस्वरूप, esp_input() पैकेट को एक निजी, अनक्लोन्ड बफ़र के रूप में गलत समझता है और "no-COW" परफ़ॉर्मेंस ऑप्टिमाइज़ेशन फास्ट पाथ लेता है।
डेटा को एक सुरक्षित उपयोगकर्ता बफ़र में कॉपी करने के बजाय, esp_input() सिस्टम के पेज कैश से उधार लिए गए मेमोरी पेजों पर सीधे इन-प्लेस डिक्रिप्शन करता है
एन्क्रिप्टेड पेलोड डेटा को बारीकी से ट्यून करके और क्रिप्टोग्राफ़िक एल्गोरिदम कॉन्फ़िगरेशन (जैसे Extended Sequence Numbers) का उपयोग करके, डिक्रिप्शन प्रक्रिया पेज कैश में लक्षित बाइनरी को निर्धारक रूप से ओवरराइट कर देती है।
एक बार /usr/bin/su जैसी बाइनरी का पेज कैश मेमोरी में हमलावर के पेलोड से दूषित हो जाने के बाद, बाइनरी को निष्पादित करने से पेलोड रूट के रूप में निष्पादित हो जाता है, बिना कभी वास्तविक भौतिक डिस्क पर संग्रहीत बाइनरी को छुए या संशोधित किए।
Impact: प्रमुख एंटरप्राइज़ Linux डिस्ट्रीब्यूशन्स में कर्नेल पैनिक्स के जोखिम के बिना उच्च-विश्वसनीयता, निर्धारक लोकल प्रिविलेज एस्केलेशन।
Remediation: Linux कर्नेल को उन संस्करणों में अपडेट करें जिनमें डेटाग्राम स्प्लाइसेस के लिए SKBFL_SHARED_FRAG हैंडलिंग लागू करने वाला पैच शामिल है और ESP प्रोसेसिंग लॉजिक के भीतर skb_cow_data() के लिए एक सुरक्षित फ़ॉलबैक प्रस्तुत करता है।