
सिस्टम 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 के माध्यम से लोड करना (नीचे देखें), और निकास पर इसे स्वचालित रूप से अनलोड करना।स्क्रिप्ट स्क्रिप्ट निर्देशिका की एक चाइल्ड निर्देशिका में लॉग संग्रहीत करती है और डिफ़ॉल्ट रूप से उन्हें हटा देती है जब तक कि --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 का उपयोग कब करें--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)।
स्क्रिप्ट शोषण परिणामों के बजाय परिचालन निर्णयों का उपयोग करती है:
ये निर्णय पैच प्राथमिकता और रक्षात्मक ट्राएज का समर्थन करने के लिए हैं, विक्रेता पैकेज स्थिति सत्यापन को बदलने के लिए नहीं।
स्क्रिप्ट चल रहे कर्नेल को प्रलेखित अपस्ट्रीम फिक्स बिंदुओं के विरुद्ध मैप करती है:
प्राथमिक अनुशंसित कार्रवाई विक्रेता-फिक्स कर्नेल अद्यतन स्थापित करना और सही कर्नेल में रीबूट करना है।[2][3][4] चूँकि शोषण स्थानीय कर्नेल आक्रमण सतह पर निर्भर करता है, पैचिंग शेड्यूल या सत्यापित होने के दौरान अतिरिक्त हार्डनिंग जोखिम को कम कर सकता है।[5][6]
nf_tables लोडिंग को अक्षम या अवरुद्ध करें यदि सिस्टम को nftables कार्यक्षमता की आवश्यकता नहीं है और परिवर्तन को परिचालन प्रभाव के लिए मान्य किया गया है।[3][4]CAP_NET_ADMIN से जुड़े एक्सेस पथ, और फ़ायरवॉल स्थिति में हेरफेर करने वाले खातों की संख्या कम करें।[5]अविशेषाधिकार प्राप्त उपयोगकर्ता नेमस्पेस प्रतिबंधित करें:
echo 'kernel.unprivileged_userns_clone=0' > /etc/sysctl.d/99-cve-2026-23111.conf
echo 'user.max_user_namespaces=0' >> /etc/sysctl.d/99-cve-2026-23111.conf
sysctl --load /etc/sysctl.d/99-cve-2026-23111.conf
nf_tables मॉड्यूल लोडिंग को अवरुद्ध करें जब संचालनात्मक रूप से सुरक्षित हो:
echo 'install nf_tables /bin/false' > /etc/modprobe.d/disable-nf_tables.conf
rmmod nf_tables 2>/dev/null || true
यदि मॉड्यूल-लोडिंग शमन का उपयोग किया जाता है, तो कुछ मार्गदर्शन initramfs को पुनर्जीवित करने की सलाह देते हैं ताकि अवरुद्ध मॉड्यूल प्रारंभिक बूट के दौरान लोड न हो।[4]
Ubuntu कर्नेल फिक्स के पूर्ण विकल्प के बजाय आक्रमण सतह को कम करने के तरीके के रूप में अविशेषाधिकार प्राप्त उपयोगकर्ता नेमस्पेस के लिए AppArmor-आधारित प्रतिबंधों का दस्तावेजीकरण करता है।[6] रनटाइम परीक्षण में एक होस्ट कम उजागर दिखाई दे सकता है क्योंकि आक्रमण पथ स्थानीय रूप से अवरुद्ध है, जबकि दीर्घकालिक उपचार के लिए अभी भी विक्रेता-फिक्स कर्नेल पैकेज स्थापित करने की आवश्यकता है।[2][6] स्क्रिप्ट वास्तविक unshare --user आह्वान का प्रयास करके और जाँच करके कि उपयोगकर्ता+नेट नेमस्पेस के अंदर CAP_NET_ADMIN कार्यात्मक है या नहीं, AppArmor प्रतिबंध प्रभावशीलता को मान्य करती है।
Red Hat स्पष्ट रूप से nf_tables मॉड्यूल को लोड होने से रोकने को CVE-2026-23111 के लिए शमन के रूप में सूचीबद्ध करता है जब वह परिवर्तन पर्यावरण के लिए उपयुक्त हो।[3] स्क्रिप्ट check_modprobe_deny() के माध्यम से इस कॉन्फ़िगरेशन का पता लगाती है और एक कठोर अस्वीकार (install nf_tables /bin/false, जो ऑन-डिमांड लोडिंग को रोकता है) और एक कमजोर ब्लैकलिस्ट (जो नहीं रोकता) के बीच अंतर करती है। RHEL-परिवार सिस्टम पर स्क्रिप्ट CVE-2026-23111 बैकपोर्ट प्रविष्टि के लिए चल रहे कर्नेल के RPM चेंजलॉग का भी निरीक्षण करती है, जो अपस्ट्रीम संस्करण संख्या से स्वतंत्र विक्रेता-पुष्टि निर्णय को सक्षम करती है।
यह README और साथ की स्क्रिप्ट रक्षात्मक सत्यापन, सूचीकरण और शमन योजना के लिए अभिप्रेत हैं। ये विक्रेता मार्गदर्शन, पैकेज-स्तरीय सत्यापन, या मानक पैच-प्रबंधन प्रक्रियाओं को प्रतिस्थापित नहीं करते हैं, और इनका उपयोग लिंक किए गए सलाहकारों में वर्णित आधिकारिक फिक्स को लागू करने के विकल्प के रूप में नहीं किया जाना चाहिए।[2][3][4]
नियंत्रित वातावरण में साइबर सुरक्षा अवधारणाओं को सीखने, परीक्षण करने और अनुसंधान करने के लिए एक भंडार।
यह भंडार केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान के लिए है।
यह उपयोगकर्ताओं को इसके बारे में सीखने में मदद करने के लिए डिज़ाइन किया गया है:
इस भंडार का उपयोग केवल उन वातावरणों में करें जहाँ आपके पास अनुमति है, जैसे:
अनधिकृत या अवैध उपयोग सख्त वर्जित है।
लेखक और योगदानकर्ता इस परियोजना के कारण होने वाली किसी भी क्षति, दुरुपयोग, कानूनी मुद्दों या हानि के लिए जिम्मेदार नहीं हैं।
इस भंडार का उपयोग करके, आप सहमत हैं कि:
यह परियोजना इसके लिए अभिप्रेत है:
कृपया जिम्मेदार प्रकटीकरण प्रथाओं का पालन करें और सभी लागू कानूनों का अनुपालन करें।
जिम्मेदार प्रकटीकरण या सहयोग के लिए, GitHub के माध्यम से भंडार अनुरक्षक से संपर्क करें।
nf_tablesunshare -U -n --map-root-user + nft सत्यापन चरण चलाना, और stdout, stderr और हाल के कर्नेल लॉग रिकॉर्ड करना।unshare --user वास्तव में एक नेमस्पेस बनाता है और CAP_NET_ADMIN इसके अंदर कार्यात्मक है, यह पुष्टि करने के लिए कि क्या AppArmor या SELinux प्रतिबंध वास्तव में प्रभावी हैं।| विकल्प | विवरण |
|---|
--allow-load-module | स्क्रिप्ट को modprobe के माध्यम से nf_tables लोड करने का अधिकार दें यदि मॉड्यूल पहले से लोड नहीं है। पूर्ण nft कैचऑल पथ व्यायामक और CAP_NET_ADMIN प्रभावकारिता परीक्षण सक्षम करता है। निकास पर मॉड्यूल स्वचालित रूप से अनलोड हो जाता है। रूट आवश्यक है। यदि पहले से कोई कठोर modprobe अस्वीकार मौजूद है तो अस्वीकार कर दिया जाता है। केवल गैर-उत्पादन या इंस्ट्रूमेंटेड सिस्टम पर उपयोग करें। |
--color | जब टर्मिनल समर्थन करता है तो रंगीन stdout आउटपुट सक्षम करें। |
--keep-logs | निकास पर लॉग और ट्रेस को हटाने के बजाय स्क्रिप्ट निर्देशिका के अंतर्गत रखें। |
--help | उपयोग जानकारी प्रिंट करें और बाहर निकलें। |
| निर्णय | अर्थ |
|---|
not-affected | कर्नेल संस्करण 5.13 से नीचे है; कैचऑल एलिमेंट सुविधा अभी तक शुरू नहीं हुई थी और असुरक्षित कोड पथ अनुपस्थित है। |
likely-patched-vendor-confirmed | CVE-2026-23111 विक्रेता कर्नेल RPM चेंजलॉग में पाया गया, अपस्ट्रीम संस्करण की परवाह किए बिना एक बैकपोर्टेड फिक्स की पुष्टि करता है। |
likely-patched-upstream-confirmed | कर्नेल संस्करण पैच किए गए अपस्ट्रीम श्रेणी में है और कार्यात्मक nft परीक्षण ने बिना किसी कर्नेल सिग्नल के गैर-शून्य लौटाया — सुरक्षित स्थिति का सबसे मजबूत स्थिर + गतिशील साक्ष्य। |
likely-patched-upstream | कर्नेल संस्करण पैच किए गए अपस्ट्रीम श्रेणी में है लेकिन कार्यात्मक परीक्षण नहीं चलाया गया (मॉड्यूल अनुपस्थित, या अनिर्णायक)। विक्रेता सलाहकार स्थिति अभी भी जाँची जानी चाहिए। |
likely-safe-or-patched | स्क्रिप्ट द्वारा कोई शोषण योग्य पथ की पुष्टि नहीं की गई; कारण पैच किए गए कर्नेल, अनुपस्थित असुरक्षित कोड, या अंतर्निहित स्थानीय ब्लॉक के बीच अस्पष्ट है। |
blocked-by-local-policy | परीक्षण किया गया पथ AppArmor, SELinux, उपयोगकर्ता नेमस्पेस प्रतिबंधों, या modprobe अस्वीकार द्वारा अवरुद्ध प्रतीत होता है।[6] नीति ब्लॉक विक्रेता फिक्स के विकल्प नहीं हैं। |
exposed-path-available | होस्ट एक userns + nftables पथ को उजागर करता है जो प्रलेखित शोषण पूर्वापेक्षाओं के अनुकूल है।[1][5] |
strong-signal-lab-confirmation | nf_tables-संबंधित मेमोरी भ्रष्टाचार के अनुरूप एक कर्नेल लॉग सिग्नल देखा गया। केवल एक डिस्पोजेबल, इंस्ट्रूमेंटेड लैब में पुष्टि करें। |
prerequisites-missing | आवश्यक नैदानिक उपकरण (unshare, nft) गायब हैं; कोई सार्थक रनटाइम सत्यापन पूरा नहीं हुआ। |
| शाखा | फिक्स किया गया | अपस्ट्रीम कमिट |
|---|
| 6.13.x+ | ≥ 6.13.1 | f41c5d1 |
| 6.12.x | ≥ 6.12.12 | 8c760ba |
| 6.6.x | ≥ 6.6.75 | b9b6573 |
| 6.1.x | ≥ 6.1.128 | 8b68a45 |
| 6.2–6.5, 6.7–6.11 | अपस्ट्रीम EOL | केवल डिस्ट्रो बैकपोर्ट |
| 5.15.x | डिस्ट्रो-निर्भर | Amazon Linux: ALAS2KERNEL-5.15-2026-098 |
| 5.10.x | डिस्ट्रो-निर्भर | Amazon Linux 2: 2026-03 तक लंबित |
| 5.4.x | डिस्ट्रो-निर्भर | Amazon Linux 2: 2026-03 तक लंबित |
| 5.13–5.14 | अपस्ट्रीम EOL | केवल डिस्ट्रो बैकपोर्ट |
| < 5.13 | प्रभावित नहीं | कैचऑल सुविधा मौजूद नहीं |