
CVE-2026-43284 के लिए परीक्षक
एक सामुदायिक डायग्नॉस्टिक उपकरण जो यह निर्धारित करने के लिए है कि क्या कोई XCP-ng dom0 होस्ट CVE-2026-43284 ("डर्टी फ्रैग") के लिए एक्सपोज़्ड है, जो Linux कर्नेल के xfrm-ESP सबसिस्टम में एक स्थानीय विशेषाधिकार वृद्धि भेद्यता है।
TL;DR — सभी मौजूदा XCP-ng रिलीज़ (8.1, 8.2, 8.3) जो स्टॉक 4.19 dom0 कर्नेल चलाते हैं, वे असुरक्षित कोड रेंज में हैं। मई 2026 तक कोई आधिकारिक XCP-ng पैच प्रकाशित नहीं हुआ है। यह उपकरण आपको निश्चित रूप से बताता है कि आपका होस्ट एक्सपोज़्ड है या नहीं और एक सुरक्षित अंतरिम शमन प्रदान करता है।
"डर्टी फ्रैग" एक स्थानीय विशेषाधिकार वृद्धि भेद्यता है जिसे मई 2026 में शोधकर्ता Hyunwoo Kim (@v4bel) द्वारा सार्वजनिक किया गया था। यह जनवरी 2017 (कर्नेल 4.14+) में शुरू किए गए Linux कर्नेल के IPsec ESP सबसिस्टम में इन-प्लेस डिक्रिप्शन फास्ट पथ का शोषण करता है। एक कार्यशील सार्वजनिक प्रूफ-ऑफ-कॉन्सेप्ट बिना किसी कर्नेल एक्सप्लॉइट के मानक syscalls के माध्यम से रूट शेल प्रदान करता है।
दो CVE प्रकाशित किए गए:
| CVE | उपतंत्र | परिचय | XCP-ng 4.19 पर लागू? |
|---|---|---|---|
| CVE-2026-43284 | xfrm-ESP (esp4/esp6) | कर्नेल 4.14, जनवरी 2017 | हाँ |
| CVE-2026-43500 | RxRPC (rxkad) | कर्नेल 6.4, जून 2023 | नहीं — rxrpc.ko शिप नहीं किया गया |
XCP-ng को शोषण योग्य होने के लिए CVE-2026-43500 की आवश्यकता नहीं है। esp4 पथ (CVE-2026-43284) अकेला पर्याप्त है क्योंकि XCP-ng dom0 में कोई AppArmor नीति नहीं है और यह अनप्रिविलेज्ड उपयोगकर्ता नेमस्पेस निर्माण की अनुमति देता है — यही एकमात्र पूर्व शर्त है जिसकी esp4 शोषण पथ को आवश्यकता है। पूर्ण विश्लेषण के लिए TECHNICAL.md देखें।
डायग्नॉस्टिक स्क्रिप्ट XCP-ng पर CVE-2026-43284 के लिए आवश्यक और पर्याप्त पूर्व शर्त का परीक्षण करती है: क्या एक अनप्रिविलेज्ड प्रक्रिया उपयोगकर्ता नेमस्पेस के अंदर XFRM नेटलिंक इंटरफेस के माध्यम से esp4 इन-प्लेस डिक्रिप्शन इंजन को सक्रिय कर सकती है।
यह नहीं करता:
प्रोडक्शन dom0 पर चलाना सुरक्षित है।
# रिपॉजिटरी को क्लोन करें
git clone https://github.com/grabesec/XCP_ng_CVE-2026-43284_tester.git
cd XCP_ng_CVE-2026-43284_tester
# डायग्नॉस्टिक चलाएं (सबसे मजबूत प्रमाण के लिए गैर-रूट के रूप में)
python3 XCP_ng_CVE_2026_43284_tester.py
नोट: जहाँ संभव हो गैर-रूट उपयोगकर्ता के रूप में चलाएं। यह वास्तविक खतरे के मॉडल का अनुकरण करता है: एक समझौता किया गया सेवा खाता या गेस्ट एस्केप जो dom0 तक पहुँचता है। रूट के रूप में चलाने पर भी एक वैध परिणाम मिलता है लेकिन यह कम उदाहरणात्मक है।
=================================================================
XCP-ng डर्टी फ्रैग डायग्नॉस्टिक -- CVE-2026-43284
xfrm-ESP पेज-कैश राइट / स्थानीय विशेषाधिकार वृद्धि
=================================================================
कर्नेल : 4.19.0+1
होस्ट : xcpng-prod-01
PID : 52306 | UID: 1000
=================================================================
[चरण 0] प्री-फ्लाइट पर्यावरण जाँच
---------------------------------------------
[*] अनप्रिविलेज्ड उपयोगकर्ता नेमस्पेस : अनुमत
[*] modprobe.d में esp4 ब्लैकलिस्ट : नहीं मिला
[*] कर्नेल RPM में CVE-2026-43284 पैच : नहीं मिला
[चरण 1] बेसलाइन esp4 मॉड्यूल स्थिति
---------------------------------------------
[*] esp4 निष्क्रिय है — वर्तमान में कर्नेल में लोड नहीं है।
ऑटोलोड तंत्र इसे XFRM के माध्यम से मांग पर ला सकता है।
[चरण 2] अनप्रिविलेज्ड नेमस्पेस से esp4 सक्रियण का प्रयास
---------------------------------------------
[*] पृथक उपयोगकर्ता+नेटवर्क नेमस्पेस में चाइल्ड स्पॉन करना
(unshare -U -n -r) -- गैर-रूट स्थानीय हमलावर का अनुकरण
[*] चाइल्ड सिग्नल : XFRM SA को कर्नेल द्वारा स्वीकार किया गया
[*] esp4 रेफकाउंट : 0 (पहले) -> 1 (अब)
[*] /proc/modules : esp4 16384 1 - Live 0xffffffffc0a12000
[चरण 3] इंजीनियरिंग निर्णय
=================================================================
[!!!] एक्सपोज़र का प्रमाण -- CVE-2026-43284 [!!!]
esp4 रेफकाउंट बढ़ा: 0 -> 1
एक अनप्रिविलेज्ड प्रक्रिया उपयोगकर्ता+नेटवर्क नेमस्पेस के अंदर
सफलतापूर्वक XFRM सुरक्षा एसोसिएशन पंजीकृत करने और होस्ट
कर्नेल में esp4 इन-प्लेस डिक्रिप्शन इंजन को सक्रिय करने में सफल रही।
यह CVE-2026-43284 के लिए गेट शर्त है।
XCP-ng-विशिष्ट विश्लेषण:
[असफल] कर्नेल 4.19 में असुरक्षित कोड है (4.14 से)
[असफल] उपयोगकर्ता नेमस्पेस खुले हैं -- esp4 पथ सुलभ है
[ठीक] rxrpc.ko अनुपस्थित -- CVE-2026-43500 लागू नहीं
[असफल] इस कॉन्फ़िगरेशन पर esp4 पथ अकेला पर्याप्त है
[चरण 0] प्री-फ्लाइट पर्यावरण जाँच
---------------------------------------------
[+] /etc/modprobe.d/ में esp4 ब्लैकलिस्ट मिला
मॉड्यूल-लोड शमन जगह पर प्रतीत होता है।
...
[चरण 2] अनप्रिविलेज्ड नेमस्पेस से esp4 सक्रियण का प्रयास
---------------------------------------------
[+] XFRM स्थिति जोड़ को कर्नेल द्वारा अस्वीकार कर दिया गया।
नेमस्पेस से esp4 इंजन सक्रिय नहीं हुआ।
[परिणाम] नेमस्पेस लूपहोल ने esp4 तक पहुँच प्रदान नहीं की।
शामिल mitigate.sh स्क्रिप्ट सुरक्षित रूप से शमन लागू करती है, टनल को तोड़ने से रोकने के लिए अंतर्निहित IPsec डिटेक्शन के साथ:
# केवल वर्तमान स्थिति जांचें (कोई बदलाव नहीं)
sudo ./mitigate.sh --check
# शमन लागू करें (IPsec पाए जाने पर रुक जाता है)
sudo ./mitigate.sh
# शमन हटाएं (आधिकारिक कर्नेल पैच लागू करने के बाद)
sudo ./mitigate.sh --undo
विकल्प A — होस्ट जो IPsec का उपयोग नहीं कर रहे (अधिकांश dom0s):
echo 'install esp4 /bin/false' > /etc/modprobe.d/dirtyfrag-cve-2026-43284.conf
rmmod esp4 2>/dev/null || true
echo 3 > /proc/sys/vm/drop_caches
विकल्प B — होस्ट जो IPsec का उपयोग कर रहे (strongSwan / Libreswan):
esp4 को ब्लैकलिस्ट न करें — यह तुरंत सभी टनल को तोड़ देगा। इसके बजाय:
⚠️ यह एक स्थानीय विशेषाधिकार वृद्धि है। एक हमलावर के पास पहले से ही dom0 पर शेल या कोड निष्पादन होना चाहिए। प्राथमिक बचाव यह है कि dom0 तक स्थानीय पहुँच किसके पास है, इसे सीमित करना। Dom0 रूट = हाइपरवाइजर रूट = सभी गेस्ट VM से समझौता।
| आवश्यकता | नोट्स |
|---|
कोई बाहरी Python लाइब्रेरी आवश्यक नहीं। pip स्थापना की आवश्यकता नहीं।
XCP_ng_CVE-2026-43284_tester/
├── XCP_ng_CVE_2026_43284_tester.py # डायग्नॉस्टिक स्क्रिप्ट — इसे पहले चलाएं
├── mitigate.sh # IPsec डिटेक्शन के साथ शमन स्क्रिप्ट
├── README.md # यह फ़ाइल — त्वरित प्रारंभ और अवलोकन
├── TECHNICAL.md # गहन तकनीकी विश्लेषण — हमला श्रृंखला,
│ # XCP-ng पर rxrpc की आवश्यकता क्यों नहीं,
│ # स्क्रिप्ट आंतरिक की व्याख्या
├── CHANGELOG.md # संस्करण इतिहास
└── LICENSE # MIT
पूर्ण विवरण के लिए:
TECHNICAL.md देखें।
निगरानी करें: https://xcp-ng.org/forum/topic/365/updates-announcements
यह उपकरण केवल शोषण के लिए पूर्व शर्त (नेमस्पेस + esp4 एक्सेस) का परीक्षण करता है। इसमें कोई एक्सप्लॉइट कोड शामिल, पुनरुत्पादित या संदर्भित नहीं है। अंतर्निहित भेद्यता सार्वजनिक रूप से ज्ञात है, मूल शोधकर्ता द्वारा एक प्रकाशित प्रूफ-ऑफ-कॉन्सेप्ट है, और इसके लिए CVE असाइन किए गए हैं। इस उपकरण का उद्देश्य XCP-ng प्रशासकों को उनके एक्सपोज़र का निर्धारण करने और Vates से आधिकारिक कर्नेल पैच की प्रतीक्षा करते समय अंतरिम शमन लागू करने में मदद करना है।
Rodrigo Gracia — सामुदायिक सुरक्षा योगदान
XCP-ng / Xen Orchestra व्यवसायी
https://github.com/grabesec
मई 2026
| Python 3.6+ | XCP-ng 8.x dom0 के साथ शिप किया गया |
iproute2 (ip कमांड) | XCP-ng 8.x dom0 के साथ शिप किया गया |
unshare | util-linux का भाग, XCP-ng 8.x dom0 के साथ शिप किया गया |
| Linux कर्नेल | XCP-ng dom0 पर कोई भी कर्नेल 4.14–6.x |
| XCP-ng संस्करण | कर्नेल | असुरक्षित? | आधिकारिक पैच? |
|---|
| 8.3 LTS | 4.19 + Vates पैच | हाँ | मई 2026 तक प्रकाशित नहीं |
| 8.2 | 4.19 + Vates पैच | हाँ | मई 2026 तक प्रकाशित नहीं |
| 8.1 (EOL) | 4.19 + Vates पैच | हाँ | अपेक्षित नहीं |