
Bash स्क्रिप्ट जो Linux होस्ट की CVE-2026-31431 के प्रति संवेदनशीलता का आकलन करती है, कर्नेल मॉड्यूल की स्थिति जांचती है, algif_aead को ब्लॉक करके शमन लागू करती है, और कर्नेल पैकेज अपडेट करती है।
यह रिपॉजिटरी एक Bash स्क्रिप्ट का दस्तावेजीकरण करती है जिसका उपयोग Linux होस्टों पर CVE-2026-31431 के प्रति जोखिम का आकलन करने के लिए किया जाता है, जिसमें Ubuntu पर विशेष ध्यान दिया गया है, और algif_aead मॉड्यूल को ब्लॉक करके एक सरल शमन लागू करने के लिए किया जाता है।
भाषा संस्करण:
README.mdREADME.pt-BR.mdस्क्रिप्ट तीन मोड का समर्थन करती है:
--check: होस्ट जानकारी एकत्र करें और वर्तमान स्थिति को वर्गीकृत करें।--mitigate: कमजोर मॉड्यूल को ब्लॉक करने के लिए एक modprobe नियम बनाएं और इसे अनलोड करने का प्रयास करें।--update: apt के माध्यम से कर्नेल पैकेज अपग्रेड चलाएं।CVE-2026-31431, जिसे सार्वजनिक रूप से Copy Fail के रूप में संदर्भित किया जाता है, Linux कर्नेल में एक स्थानीय विशेषाधिकार वृद्धि कमजोरी है जो algif_aead मॉड्यूल से जुड़ी है, जो AF_ALG के माध्यम से कर्नेल यूज़रस्पेस क्रिप्टो API के AEAD इंटरफ़ेस को लागू करता है।
व्यावहारिक रूप से, यह समस्या एक कम-विशेषाधिकार वाले स्थानीय उपयोगकर्ता को इस सबसिस्टम के मेमोरी-हैंडलिंग पथ में एक तर्क दोष का दुरुपयोग करने और प्रभाव को पूर्ण सिस्टम अखंडता समझौते तक बढ़ाने की अनुमति देती है। kernel.org द्वारा प्रकाशित और NVD में परिलक्षित स्कोर CVSS 7.8 है, जिसमें वेक्टर AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H है, जिसका अर्थ है कि हमले के लिए स्थानीय निष्पादन की आवश्यकता होती है लेकिन गोपनीयता, अखंडता और उपलब्धता पर उच्च प्रभाव पड़ता है।
2017 में पेश किया गया था, जब algif_aead में एक इन-प्लेस ऑप्टिमाइज़ेशन जोड़ा गया था।22 अप्रैल, 2026 को प्रकाशित किया गया था।Copy Fail नाम से और एक सार्वजनिक प्रूफ ऑफ कॉन्सेप्ट के साथ समस्या का व्यापक सार्वजनिक प्रकटीकरण 29 अप्रैल, 2026 को हुआ।1 अप्रैल, 2026 को प्रतिबद्ध किया गया था, व्यापक अंतिम-उपयोगकर्ता प्रकटीकरण से पहले।प्रकाशित तकनीकी सलाहों के अनुसार, यह दोष निम्नलिखित के संयोजन पर निर्भर करता है:
AF_ALG इंटरफ़ेसalgif_aead मॉड्यूलsplice() के साथ जोड़नाव्यावहारिक परिणाम एक स्थानीय प्रक्रिया की क्षमता है जो पठनीय फ़ाइलों के पेज-कैश-समर्थित पेजों में एक छोटा नियंत्रित लेखन कर सकती है। अनुकूल परिस्थितियों में, यह एक सीमित स्थानीय पैर जमाने को root विशेषाधिकार वृद्धि में बदलने के लिए पर्याप्त है।
वास्तविक जोखिम केवल "कमजोर Linux कर्नेल चलाना" नहीं है, बल्कि कम-विश्वास वाले स्थानीय कोड को इस कर्नेल पथ तक पहुंचने देना है। एंटरप्राइज़ वातावरण में, इसका आमतौर पर निम्नलिखित पर अधिक जोखिम होता है:
यदि किसी हमलावर के पास पहले से ही किसी प्रकार का स्थानीय निष्पादन है, यहां तक कि root के बिना भी, यह CVE होस्ट समझौते की दिशा में अगला कदम बन सकता है। व्यवहार में, यह निम्नलिखित के जोखिम का विस्तार करता है:
algif_aead मॉड्यूल किस लिए उपयोग किया जाता हैalgif_aead कर्नेल यूज़रस्पेस क्रिप्टो इंटरफ़ेस (AF_ALG) का हिस्सा है। यह एप्लिकेशन को सॉकेट पर कर्नेल क्रिप्टोग्राफ़िक प्रिमिटिव का उपयोग करने की अनुमति देता है, विशेष रूप से AEAD ऑपरेशन (एसोसिएटेड डेटा के साथ प्रमाणित एन्क्रिप्शन)।
यह मॉड्यूल आमतौर पर अधिकांश मानक सर्वर वर्कलोड के लिए आवश्यक नहीं है। CERT-EU द्वारा प्रकाशित शमन मार्गदर्शन के अनुसार, अस्थायी शमन के रूप में algif_aead को अक्षम करना:
dm-crypt या LUKS को प्रभावित नहीं करना चाहिएkTLS को प्रभावित नहीं करना चाहिएIPsec/XFRM को प्रभावित नहीं करना चाहिएOpenSSL, GnuTLS, NSS, या SSH को प्रभावित नहीं करना चाहिएदूसरी ओर, इसे अक्षम करना निम्नलिखित को प्रभावित कर सकता है:
afalg इंजन का उपयोग करने के लिए कॉन्फ़िगर किए गए एप्लिकेशनAF_ALG सॉकेट खोलता हैaead, skcipher, या hash का उपयोग करते हैंदूसरे शब्दों में, अधिकांश कॉर्पोरेट होस्टों के लिए, मॉड्यूल को ब्लॉक करने का प्रभाव कम होता है। उपकरणों, कस्टम क्रिप्टोग्राफ़िक स्टैक, या अत्यधिक अनुकूलित सॉफ़्टवेयर पथों में, रोलआउट से पहले प्रभाव को मान्य किया जाना चाहिए।
मॉड्यूल को ब्लॉक करने से जोखिम तुरंत कम हो जाता है, लेकिन इसके साथ कुछ समझौते भी आते हैं:
AF_ALG पर निर्भर एप्लिकेशन शुरू होने में विफल हो सकते हैं या कर्नेल-समर्थित क्रिप्टो त्वरण खो सकते हैंउत्पादन वातावरण के लिए, सुरक्षित दृष्टिकोण एक नियंत्रित रखरखाव विंडो में शमन लागू करना और बाद में महत्वपूर्ण एप्लिकेशन को मान्य करना है।
मॉड्यूल को ब्लैकलिस्ट करना केवल एक अस्थायी शमन है। स्थायी फिक्स है:
अतिरिक्त अनुशंसित उपाय:
seccomp के साथ AF_ALG सॉकेट निर्माण को प्रतिबंधित करेंafalg या कर्नेल क्रिप्टो API स्पष्ट रूप से कहां उपयोग किया जाता हैस्क्रिप्ट निम्नलिखित का निरीक्षण करती है:
/etc/os-release के माध्यम से ऑपरेटिंग सिस्टमalgif_aead मॉड्यूल की उपस्थितिmodprobe नियम द्वारा ब्लॉक किया गया है/var/run/reboot-required)pro fix CVE-2026-31431 --dry-run के माध्यम से रिपोर्ट की गई स्थिति, जब उपलब्ध होइसके आधार पर, यह निम्नलिखित वर्गीकरणों में से एक लौटाता है:
PATCHED_OR_NOT_AFFECTEDLIKELY_NOT_VULNERABLEMITIGATEDVULNERABLE_MODULE_LOADEDPOTENTIALLY_VULNERABLEUNKNOWNसंक्षेप में:
PATCHED_OR_NOT_AFFECTED बन जाती है।algif_aead मॉड्यूल वर्तमान कर्नेल में मौजूद नहीं है, तो स्थिति LIKELY_NOT_VULNERABLE होती है।MITIGATED बन जाती है।VULNERABLE_MODULE_LOADED बन जाती है।POTENTIALLY_VULNERABLE बन जाती है।modinfomodprobelsmodawkgrephostnameuname--update के लिए apt-getsudoproयदि स्क्रिप्ट फ़ाइल का नाम check_cve_2026_31431.sh है:
chmod +x check_cve_2026_31431.sh
./check_cve_2026_31431.sh --check
./check_cve_2026_31431.sh --check
उदाहरण आउटपुट:
Host: srv-app-01
OS: Ubuntu 24.04 LTS
Kernel: 6.8.0-58-generic
CVE: CVE-2026-31431
Module exists: 1
Module loaded: 0
Module blocked: 1
Ubuntu affected: yes
Fix available: yes
Reboot required: 0
Status: MITIGATED
Reason: algif_aead exists but is blocked and not loaded
./check_cve_2026_31431.sh --check --json
उदाहरण:
{"host":"srv-app-01","os":"Ubuntu 24.04 LTS","kernel":"6.8.0-58-generic","cve":"CVE-2026-31431","module":"algif_aead","module_exists":1,"module_loaded":0,"module_blocked":1,"ubuntu_affected":"yes","fix_available":"yes","reboot_required":0,"status":"MITIGATED","reason":"algif_aead exists but is blocked and not loaded"}
यह आउटपुट स्वचालन, संपत्ति सूची और अनुपालन पाइपलाइनों के लिए उपयोगी है।
--mitigate मोड फ़ाइल बनाता है:
/etc/modprobe.d/disable-algif_aead-CVE-2026-31431.conf
निम्नलिखित सामग्री के साथ:
install algif_aead /bin/false
blacklist algif_aead
उसके बाद, स्क्रिप्ट मॉड्यूल को मेमोरी से हटाने का प्रयास करती है:
modprobe -r algif_aead
उपयोग:
./check_cve_2026_31431.sh --mitigate
यदि उपयोगकर्ता root नहीं है, तो स्क्रिप्ट sudo का उपयोग करने का प्रयास करेगी।
--update मोड चलाता है:
apt-get update
apt-get install --only-upgrade -y 'linux-image-*' 'linux-modules-*' 'linux-aws*'
उपयोग:
./check_cve_2026_31431.sh --update
यह मोड Debian और Ubuntu आधारित सिस्टम पर कर्नेल-संबंधित पैकेजों को अपग्रेड करने का प्रयास करता है। अन्य वातावरणों में, यह चरण लागू नहीं हो सकता है।
./check_cve_2026_31431.sh --help
आउटपुट:
Usage: ./check_cve_2026_31431.sh [--check|--mitigate|--update] [--json]
ubuntu_affected और fix_available फ़ील्ड pro कमांड की उपस्थिति पर निर्भर करते हैं।--update चरण Ubuntu और Debian-उन्मुख पैकेज पैटर्न का उपयोग करता है और सभी कस्टम कर्नेल को कवर नहीं कर सकता है।--check चलाएं।--mitigate चलाएं।--update चलाएं या आधिकारिक विक्रेता अपडेट लागू करें।--check --json चलाएं।प्रकाशन स्पष्टता के लिए, स्क्रिप्ट को आदर्श रूप से एक वर्णनात्मक नाम का उपयोग करना चाहिए जैसे:
check_cve_2026_31431.sh
सामग्री SEC17 के श्रेय के साथ व्यवस्थित और प्रकाशित की गई।
आधिकारिक वेबसाइट:
https://sec17.com