
CVE-2026-31431 (Copy Fail) के लिए SSH मुद्रा सहायक: कर्नेल और algif_aead इन्वेंट्री
Bash सहायक: होस्ट खोजें (वैकल्पिक CIDR nmap के माध्यम से), फिर SSH read-only जाँच CVE-2026-31431 (Copy Fail / algif_aead), CVE-2026-31677 / CVE-2026-43077 (AF_ALG RX heuristics), CVE-2026-23111 (nftables + user namespaces), CVE-2026-23102 (arm64 SVE/SME) के लिए। केवल अनुमान (heuristics) — एक्सप्लॉइट नहीं; अपने वितरक से पुष्टि करें।
संवेदनशील मानें: डिस्क पर पासवर्ड फ़ाइल; आउटपुट होस्ट और कर्नेल स्थिति सूचीबद्ध करता है।
| घटक | कब |
|---|---|
bash, ssh, sshpass | हमेशा |
nmap | CIDR लक्ष्य: nmap -sn -PS22 आवश्यक है। COPYFAIL_PREAUTH_NMAP=1 (डिफ़ॉल्ट) के साथ, प्रति होस्ट SSH बैनर के बाद nmap -p22 -sV भी — धीमा, लेकिन macOS/Windows की पहचान में मदद करता है। COPYFAIL_PREAUTH_NMAP=0 सेट करें प्रति-होस्ट nmap छोड़ने के लिए (CIDR sweep के लिए अभी भी nmap आवश्यक है)। |
sudo cp copyfail-creds.example /etc/copyfail-creds && sudo nano /etc/copyfail-credsuser:password (केवल पहला : उपयोगकर्ता और पासवर्ड को विभाजित करता है)।600 आवश्यक: sudo chmod 600 /etc/copyfail-credssudo से चलाएँ (या chown अपने उपयोगकर्ता पर, फिर भी 600)।CREDS_FILE=/path/to/creds ./copyfail_scan.sh [TARGET]
TARGET: CIDR, एकल IP/होस्टनाम, या होस्ट सूची का पथ (# टिप्पणियाँ ठीक हैं)। लक्ष्य छोड़ने पर स्क्रिप्ट डिफ़ॉल्ट का उपयोग करती है (copyfail_scan.sh में TARGET= देखें)।
chmod +x copyfail_scan.sh
sudo CREDS_FILE=/etc/copyfail-creds ./copyfail_scan.sh
sudo CREDS_FILE=/etc/copyfail-creds ./copyfail_scan.sh 192.168.1.0/24
CREDS_FILE=~/creds ./copyfail_scan.sh ./hosts.txt
आउटपुट: केवल stdout (कोई रिपोर्ट फ़ाइल नहीं)। सहेजने के लिए tee का उपयोग करें। प्रति-होस्ट पंक्तियों के बाद: === Summary report === (जब तक COPYFAIL_SUMMARY=0 न हो) — Confirmed good बनाम Needs review; एक ही सारांश पंक्ति साझा करने वाले होस्ट विलीन (merge) हो जाते हैं (अल्पविराम से अलग किए गए लेबल)।
# Example: no per-host nmap, sequential
COPYFAIL_PREAUTH_NMAP=0 COPYFAIL_PARALLEL=1 sudo ./copyfail_scan.sh 192.168.54.93
31431 PATCHED, 31431 VULN - MITIGATED, 31431 NO algif_aead - VERIFY, [SKIP] / [SKIP - PRE-AUTH] स्क्रिप्ट अनुमान हैं; 23111= / 23102= अंतिम फ़ील्ड nftables/user-ns और arm64 SVE जांच का सारांश देते हैं।*-pve / विक्रेता कर्नेल: uname -r अपस्ट्रीम NVD tuples से मेल नहीं खा सकता — केवल इस स्क्रिप्ट के बजाय distro/Proxmox सुरक्षा सूचनाएँ और स्थापित कर्नेल पैकेज का उपयोग करें।echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/disable-algif.conf && sudo rmmod algif_aead 2>/dev/nullMIT — देखें LICENSE.
| चर | डिफ़ॉल्ट | भूमिका |
|---|
CREDS_FILE | /etc/copyfail-creds | user:password फ़ाइल |
COPYFAIL_PREAUTH | 1 | TCP/22 SSH बैनर; लॉगिन से पहले स्पष्ट गैर-Linux को छोड़ें |
COPYFAIL_PREAUTH_NMAP | 1 | अतिरिक्त nmap -p22 -sV जब बैनर अनिर्णायक (धीमा) |
COPYFAIL_PREAUTH_VERBOSE | 0 | 1 = प्री-ऑथ स्किप पर छोटा बैनर दिखाएँ |
COPYFAIL_PARALLEL | 24 | अधिकतम समवर्ती जांच (1 = अनुक्रमिक) |
COPYFAIL_ORDERED_OUTPUT | 1 | जब समानांतर, जांच क्रम में बफ़र पंक्तियाँ (0 = अंतर्निहित) |
COPYFAIL_PTR_LOOKUP | 1 | IPv4 रिवर्स DNS getent के माध्यम से जब nmap/सूची में कोई नाम न हो |
COPYFAIL_SUMMARY | 1 | समूहीकृत अंत सारांश प्रिंट करें (0 = छोड़ें) |
COPYFAIL_BANNER_TIMEOUT | 3 | पोर्ट 22 पर SSH पहचान के लिए प्रतीक्षा करने के लिए सेकंड |
COPYFAIL_SSH_CONNECT_TIMEOUT | 3 | ssh ConnectTimeout (सेकंड) |
COPYFAIL_NO_BANNER_SKIP_SSH | 1 | यदि प्री-ऑथ को कोई बैनर न दिखे, तो SSH प्रयास छोड़ें (0 यदि बैनर बहुत धीमे हैं) |