
सिस्टम cve-2026-23111 के लिए असुरक्षित हैं या नहीं जाँचने की स्क्रिप्ट
CVE-2026-23111 Linux कर्नेल में nf_tables से संबंधित एक भेद्यता है जिसका उपयोग उन प्रणालियों पर एक अविशेषाधिकार प्राप्त उपयोगकर्ता द्वारा स्थानीय विशेषाधिकार वृद्धि के लिए किया जा सकता है जहाँ उपयोगकर्ता नेमस्पेस और nftables उपलब्ध हैं।[1][2] सार्वजनिक विक्रेता और सरकारी सलाहकार इसे Linux वितरणों को प्रभावित करने वाली एक स्थानीय समस्या के रूप में वर्णित करते हैं और प्राथमिक समाधान के रूप में पैचिंग पर जोर देते हैं।[3][4]
इस भंडार में एक रक्षात्मक सत्यापन स्क्रिप्ट है जो यह आकलन करने में मदद करने के लिए डिज़ाइन की गई है कि कोई होस्ट इस CVE से जुड़ी तकनीकी स्थितियों को विशेषाधिकार-वृद्धि शोषण प्रदान किए बिना उजागर करता है या नहीं। यह प्रासंगिक कर्नेल और रनटाइम स्थितियों की जाँच करता है, वैकल्पिक रूप से पूर्ण कार्यात्मक परीक्षण के लिए nf_tables मॉड्यूल लोड करता है, unshare और nft का उपयोग करके एक नियंत्रित गैर-विशेषाधिकार प्राप्त सत्यापन पथ प्रयास करता है, स्थानीय नैदानिक ट्रेस एकत्र करता है, और होस्ट को संभावित सुरक्षित, स्थानीय नीति द्वारा अवरुद्ध, या उजागर पथ उपलब्ध जैसे परिचालन निर्णयों में वर्गीकृत करता है।[1][5]
NVD के अनुसार, CVE-2026-23111 Linux कर्नेल nf_tables भेद्यता है जिसे netfilter में तर्क बग फिक्स के रूप में हल किया गया है और प्रभावित विन्यासों पर अविशेषाधिकार प्राप्त उपयोगकर्ता से उपयोगकर्ता नेमस्पेस और nftables के माध्यम से स्थानीय विशेषाधिकार वृद्धि के लिए शोषण योग्य है।[1] Ubuntu का सुरक्षा नोटिस उसी उच्च-स्तरीय शोषण पथ का वर्णन करता है और रिलीज़ के अनुसार प्रभावित और स्थिर पैकेज स्थितियों को ट्रैक करता है।[2]
Red Hat कहता है कि एक स्थानीय निम्न-विशेषाधिकार प्राप्त उपयोगकर्ता सेवा से इनकार करने या संभावित रूप से विशेषाधिकार वृद्धि प्राप्त करने के लिए इस मुद्दे का शोषण कर सकता है, और यह nf_tables मॉड्यूल को लोड होने से रोकने पर आधारित एक शमन पथ प्रलेखित करता है जब यह संचालनात्मक रूप से स्वीकार्य हो।[3] कनाडाई साइबर सुरक्षा केंद्र का राष्ट्रीय स्तर का मार्गदर्शन भी प्रभावित संगठनों को विक्रेता अद्यतनों की ओर इशारा करता है और मॉड्यूल-अवरुद्ध शमन का उपयोग करते समय initramfs पुनर्जनन का उल्लेख करता है।[4]
स्क्रिप्ट रक्षात्मक जोखिम आकलन के लिए है, शोषण के लिए नहीं। इसे इस प्रकार डिज़ाइन किया गया है:
CONFIG_USER_NS और CONFIG_NF_TABLES मौजूद प्रतीत होते हैं।[1]kernel.unprivileged_userns_clone और user.max_user_namespaces का निरीक्षण करना यह अनुमान लगाने के लिए कि क्या अविशेषाधिकार प्राप्त उपयोगकर्ता नेमस्पेस उपलब्ध हैं।nf_tables मॉड्यूल के लिए एक कठोर modprobe अस्वीकार (install nf_tables /bin/false) या कमजोर ब्लैकलिस्ट का पता लगाना।/proc/kallsyms में असुरक्षित प्रतीक (nft_map_catchall_activate) बनाम पोस्ट-पैच प्रतीक (nft_catchall_set_activate) का फिंगरप्रिंट लेना।--allow-load-module निर्दिष्ट होने पर modprobe के माध्यम से nf_tables लोड करना (नीचे देखें), और निकास पर इसे स्वचालित रूप से अनलोड करना।unshare -U -n --map-root-user + nft सत्यापन चरण चलाना, और stdout, stderr और हाल के कर्नेल लॉग रिकॉर्ड करना।unshare --user वास्तव में एक नेमस्पेस बनाता है और CAP_NET_ADMIN इसके अंदर कार्यात्मक है, यह पुष्टि करने के लिए कि क्या AppArmor या SELinux प्रतिबंध वास्तव में प्रभावी हैं।स्क्रिप्ट स्क्रिप्ट निर्देशिका की एक चाइल्ड निर्देशिका में लॉग संग्रहीत करती है और डिफ़ॉल्ट रूप से उन्हें हटा देती है जब तक कि --keep-logs का उपयोग न किया जाए।
डिफ़ॉल्ट रूप से स्क्रिप्ट कभी भी nf_tables लोड नहीं करती। यदि स्क्रिप्ट शुरू होने पर मॉड्यूल पहले से लोड नहीं है, तो सभी कार्यात्मक nft परीक्षण छोड़ दिए जाते हैं और निर्णय पूरी तरह से कर्नेल संस्करण, kallsyms फिंगरप्रिंट, modprobe कॉन्फ़िगरेशन, RPM चेंजलॉग और sysctl/LSM नीति साक्ष्य से लिया जाता है।
यह रूढ़िवादी डिफ़ॉल्ट उत्पादन होस्ट पर अनजाने में आक्रमण की सतह का विस्तार करने से बचाता है। नियंत्रित या इंस्ट्रूमेंटेड सिस्टम पर पूर्ण कार्यात्मक परीक्षण सक्षम करने के लिए, रूट के रूप में --allow-load-module का उपयोग करें (नीचे देखें)।
# डिफ़ॉल्ट — कोई मॉड्यूल लोडिंग नहीं, केवल नीति-साक्ष्य-आधारित निर्णय
./check_cve_2026_23111.sh
./check_cve_2026_23111.sh --color
./check_cve_2026_23111.sh --keep-logs
./check_cve_2026_23111.sh --color --keep-logs
# पूर्ण कार्यात्मक परीक्षण — nf_tables लोड (और अनलोड) करता है, रूट आवश्यक
sudo ./check_cve_2026_23111.sh --allow-load-module
sudo ./check_cve_2026_23111.sh --allow-load-module --color --keep-logs
| विकल्प | विवरण |
|---|---|
--allow-load-module | स्क्रिप्ट को modprobe के माध्यम से nf_tables लोड करने का अधिकार दें यदि मॉड्यूल पहले से लोड नहीं है। पूर्ण nft कैचऑल पथ व्यायामक और CAP_NET_ADMIN प्रभावकारिता परीक्षण सक्षम करता है। निकास पर मॉड्यूल स्वचालित रूप से अनलोड हो जाता है। रूट आवश्यक है। यदि पहले से कोई कठोर modprobe अस्वीकार मौजूद है तो अस्वीकार कर दिया जाता है। केवल गैर-उत्पादन या इंस्ट्रूमेंटेड सिस्टम पर उपयोग करें। |
--color | जब टर्मिनल समर्थन करता है तो रंगीन stdout आउटपुट सक्षम करें। |
--keep-logs | निकास पर लॉग और ट्रेस को हटाने के बजाय स्क्रिप्ट निर्देशिका के अंतर्गत रखें। |
--help | उपयोग जानकारी प्रिंट करें और बाहर निकलें। |
--allow-load-module का उपयोग कब करें--allow-load-module का उपयोग करें जब आपको एक पृथक, गैर-उत्पादन, या उद्देश्य-निर्मित परीक्षण VM पर उच्चतम-विश्वास निर्णय की आवश्यकता हो। विशिष्ट परिदृश्य:
उत्पादन होस्ट पर --allow-load-module का उपयोग न करें जहाँ nf_tables जानबूझकर अवरुद्ध है या जहाँ इसे लोड करना हार्डनिंग नीति का उल्लंघन होगा।
--allow-load-module के लिए सुरक्षा द्वारमॉड्यूल लोड करने का प्रयास करने से पहले, स्क्रिप्ट निम्नलिखित जाँच लागू करती है और यदि उनमें से कोई भी विफल होता है तो एक त्रुटि के साथ बाहर निकलती है:
/etc/modprobe.d/ में एक कठोर modprobe अस्वीकार (install nf_tables /bin/false) मौजूद नहीं होना चाहिए।modprobe उपलब्ध होना चाहिए।root (uid 0) के रूप में चलना चाहिए।यदि स्क्रिप्ट द्वारा मॉड्यूल सफलतापूर्वक लोड किया जाता है, तो निकास पर cleanup() ट्रैप के माध्यम से modprobe -r nf_tables कॉल किया जाता है, भले ही स्क्रिप्ट कैसे समाप्त हो (सफलता, त्रुटि, या CTRL+C)।
स्क्रिप्ट शोषण परिणामों के बजाय परिचालन निर्णयों का उपयोग करती है: