
CVE-2026-31431 (algif_aead स्थानीय रूट) के लिए रीड-ऑनली जाँचकर्ता। कर्नेल/मॉड्यूल स्थिति की रिपोर्ट करता है और शमन उपाय सुझाता है।
algif_aead स्थानीय-रूट भेद्यता (CVE-2026-31431) के लिए केवल-पढ़ने योग्य जाँचकर्ता। यह कर्नेल कॉन्फ़िग, मॉड्यूल स्थिति, AF_ALG सॉकेट पहुंच क्षमता, और आपके द्वारा लागू किसी भी शमन उपायों की जाँच करता है, फिर एक निर्णय प्रिंट करता है। यह एक्सप्लॉइट कोड नहीं चलाता है।
यह dirty-frag-check (CVE-2026-43284 / CVE-2026-43500) का सहयोगी उपकरण है।

ध्यान दें: यह एक अनुमानात्मक जाँच है। हरा निर्णय कोई गारंटी नहीं है। किसी होस्ट को सुरक्षित घोषित करने से पहले अपने वितरण की सलाह से क्रॉस-रेफरेंस करें। MIT, कोई वारंटी नहीं।
curl -fsSL https://github.com/haydenjames/CVE-2026-31431-check/releases/latest/download/cve-2026-31431.sh | bash
यदि आप bash में पाइप करने पर भरोसा नहीं करते तो पहले इसे पढ़ें:
curl -fsSLO https://github.com/haydenjames/CVE-2026-31431-check/releases/latest/download/cve-2026-31431.sh
less cve-2026-31431.sh
chmod +x cve-2026-31431.sh && ./cve-2026-31431.sh
परिवर्तन नियंत्रण के लिए एक रिलीज़ टैग पर पिन करें: https://raw.githubusercontent.com/haydenjames/CVE-2026-31431-check/v1.0.3/cve-2026-31431.sh.
-q एक-लाइन फ्लीट आउटपुट के लिए। -h मदद के लिए। एग्ज़िट 0 ठीक, 1 असुरक्षित, 2 अज्ञात।
-q प्रति होस्ट एक पंक्ति प्रिंट करता है, ताकि आप इसे अपने किसी भी मौजूदा रिमोट रनर के माध्यम से पाइप कर सकें:
# parallel-ssh
parallel-ssh -h hosts.txt -i 'bash -s -- -q' < cve-2026-31431.sh
# ansible
ansible all -m script -a "cve-2026-31431.sh -q"
एग्ज़िट कोड (0 ठीक, 1 असुरक्षित, 2 अज्ञात) भी काम करते हैं यदि आपका टूलिंग स्थिति के अनुसार एकत्र करता है।
bash 4+, साथ ही सामान्य awk/grep/sed/lsmod/modprobe। यदि python3 उपलब्ध है तो यह AF_ALG सॉकेट पहुंच क्षमता का परीक्षण भी करेगा; यदि नहीं, तो वह जाँच छोड़ दी जाती है। जाँच को स्वयं रूट की आवश्यकता नहीं है। शमन उपाय लागू करने के लिए रूट आवश्यक है।
algif_aead स्थिति. बिल्ट-इन, लोड करने योग्य मॉड्यूल, लोडेड, या अनुपस्थित। /boot/config-* या /proc/config.gz पढ़ता है, lsmod पर वापस आता है।
1b. authencesn स्थिति. अपस्ट्रीम सलाह के अनुसार, यह वह मॉड्यूल है जिसमें वास्तव में बग है — algif_aead एक पहुंच पथ है, IPsec दूसरा है। lsmod/modinfo और कॉन्फ़िग के माध्यम से पता लगाया जाता है।modprobe -n -v के माध्यम से सत्यापित करता है कि ब्लैकलिस्ट वास्तव में लागू है। साथ ही टूटी हुई DefaultRestrictAddressFamilies systemd [Manager] ट्रिक को चिह्नित करता है जो चर्चा में है — वह निर्देश केवल यूनिट पर काम करता है, system.conf.d में नहीं। SELinux और AppArmor स्थिति की रिपोर्ट करता है।algif_aead बिल्ट-इन है। सर्वोत्तम प्रयास निर्णय; यह dnf check-update एग्ज़िट कोड पर निर्भर करता है, जो असंबंधित कारणों (नेटवर्क, पुराना मेटाडेटा) से गैर-शून्य हो सकते हैं। अपने वितरण ट्रैकर की जाँच किए बिना यह न मानें कि आप प्रतीक्षा में फँस गए हैं।अपस्ट्रीम सलाह के अनुसार, बग वास्तव में authencesn क्रिप्टो मॉड्यूल में रहता है — algif_aead सिर्फ एक पहुंच पथ है। सुरक्षित रहने के लिए दोनों को ब्लैकलिस्ट करें:
sudo tee /etc/modprobe.d/disable-cve-2026-31431.conf <<'EOF'
install algif_aead /bin/false
install authencesn /bin/false
EOF
sudo rmmod authencesn algif_aead 2>/dev/null || true
यदि rmmod कहता है "module is in use", तो बॉक्स पर कोई चीज़ सक्रिय रूप से AF_ALG या IPsec का उपयोग कर रही है (कुछ VPN, डिस्क एन्क्रिप्शन, क्रिप्टो उपयोगकर्ता स्थान टूलिंग)। इसे जबरन अनलोड न करें। पैच करें और रीबूट करें।
यदि असुरक्षित कोड आपके कर्नेल में संकलित है, तो ब्लैकलिस्टिंग मदद नहीं करेगी। केवल कर्नेल अपडेट इसे ठीक करता है।
AlmaLinux 8, AlmaLinux 9.7, CentOS 7 (TuxCare ELS), Ubuntu 22.04, Ubuntu 24.04.
बग रिपोर्ट जिन्होंने v1.0.1 को आकार दिया:
kmod ब्लैकलिस्ट अपडेट का पता नहीं लगाया जा रहा था, जिससे पैच किए गए Ubuntu होस्ट पर झूठे असुरक्षित निर्णय आ रहे थे।MIT — देखें LICENSE।