
कॉपी फेल (CVE-2026-31431) लिनक्स कर्नेल के algif_aead मॉड्यूल में एक लॉजिक दोष है — जो AF_ALG यूज़रस्पेस क्रिप्टो API का हिस्सा है। इसे 29 अप्रैल, 2026 को Theori / Xint Code द्वारा सार्वजनिक किया गया था।
Copy Fail Linux कर्नेल स्थानीय विशेषाधिकार वृद्धि भेद्यता के लिए एक केवल-पठन पहचान स्क्रिप्ट।
कोई एक्सप्लॉइट कोड नहीं। कोई AF_ALG सॉकेट नहीं खोला गया।/etc/modprobe.dके बाहर कोई फ़ाइल नहीं लिखी गई (केवल जब आप मैन्युअल रूप से शमन लागू करते हैं)।
Copy Fail (CVE-2026-31431) Linux कर्नेल के algif_aead मॉड्यूल में एक तर्क दोष है — AF_ALG उपयोगकर्तास्पेस क्रिप्टो API का हिस्सा। इसे 29 अप्रैल, 2026 को Theori / Xint Code द्वारा प्रकट किया गया था।
एक 732-बाइट Python स्क्रिप्ट 2017 से निर्मित लगभग हर प्रमुख Linux वितरण पर एक अन-विशेषाधिकार प्राप्त स्थानीय उपयोगकर्ता को पूर्ण रूट पहुंच दे सकती है — बिना रेस कंडीशन, कर्नेल ऑफसेट, या संकलित पेलोड के।
| गुण | विवरण |
|---|---|
| CVE | CVE-2026-31431 |
| CVSS | 7.8 उच्च |
| प्रकार | स्थानीय विशेषाधिकार वृद्धि (LPE) |
| प्रभावित कर्नेल | 4.14 – 6.18.21, 6.19.0 – 6.19.11 |
| मूल कारण | algif_aead इन-प्लेस अनुकूलन (कमिट 72548b093ee3, 2017) |
| अपस्ट्रीम फिक्स | कमिट a664bf3d603d के माध्यम से वापस लें |
| एक्सप्लॉइट विश्वसनीयता | नियतात्मक — कोई रेस कंडीशन आवश्यक नहीं |
modprobe.d ब्लैकलिस्ट, initcall_blacklist कर्नेल cmdline पैरामीटरkmod पैकेज संस्करण सत्यापित करता हैUbuntu / Debian पर नोट: Ubuntu बैकपोर्टिंग सुरक्षा पैच करते समय अपस्ट्रीम कर्नेल संस्करण नहीं बढ़ाता है। इसलिए स्क्रिप्ट केवल कर्नेल संस्करण स्ट्रिंग पर निर्भर रहने के बजाय
kmodपैकेज संस्करण (>= 31+20240202-2ubuntu7.2प्रति USN-8226-1) की जांच करती है।
# डाउनलोड करें
curl -O https://raw.githubusercontent.com/kw-soft/copyfail/main/copyfail.sh
# निष्पादन योग्य बनाएं
chmod +x copyfail.sh
# चलाएं (पूर्ण मॉड्यूल दृश्यता के लिए रूट अनुशंसित)
sudo ./copyfail.sh
============================================
CVE-2026-31431 'Copy Fail' — सुरक्षित पहचान
============================================
[*] कर्नेल: 6.8.0-71-generic
[!] कर्नेल 6.8.0-71-generic कमजोर अपस्ट्रीम सीमा (4.14 – 6.19.11) में है
[~] वितरण बैकपोर्ट जांच निम्नानुसार है — अकेले संस्करण संख्या निर्णायक नहीं है
[*] algif_aead मॉड्यूल स्थिति:
[!] algif_aead लोडेड है — हमला सतह सक्रिय है
[*] वितरण पैच स्थिति:
वितरण : Ubuntu 24.04
kmod स्थापित : 31+20240202-2ubuntu6
kmod आवश्यक : >= 31+20240202-2ubuntu7.2
[!] kmod 31+20240202-2ubuntu6 < 31+20240202-2ubuntu7.2 — शमन लागू नहीं
============================================
परिणाम
============================================
[!] कमजोर — कर्नेल प्रभावित और algif_aead सक्रिय है
============================================
CVE-2026-31431 'Copy Fail' — सुरक्षित पहचान
============================================
[*] कर्नेल: 6.8.0-71-generic
[!] कर्नेल 6.8.0-71-generic कमजोर अपस्ट्रीम सीमा (4.14 – 6.19.11) में है
[~] वितरण बैकपोर्ट जांच निम्नानुसार है — अकेले संस्करण संख्या निर्णायक नहीं है
[*] algif_aead मॉड्यूल स्थिति:
[✓] algif_aead लोडेड नहीं है
[✓] modprobe ब्लैकलिस्ट सक्रिय: /etc/modprobe.d/disable-algif_aead.conf
[*] वितरण पैच स्थिति:
वितरण : Ubuntu 24.04
kmod स्थापित : 31+20240202-2ubuntu7.2
kmod आवश्यक : >= 31+20240202-2ubuntu7.2
[✓] kmod >= 31+20240202-2ubuntu7.2 — USN-8226-1 शमन मौजूद है
============================================
परिणाम
============================================
[✓] शमन किया गया — algif_aead अवरुद्ध है
[~] समस्या को पूरी तरह हल करने के लिए उपलब्ध होने पर पैच किया गया कर्नेल लागू करें
sudo apt update && sudo apt upgrade && sudo reboot
यह पैच किया गया kmod पैकेज (USN-8226-1) स्थापित करता है जो algif_aead को अवरुद्ध करने वाला एक modprobe.d नियम जोड़ता है।
यदि तत्काल रीबूट संभव नहीं है:
echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/disable-algif.conf
sudo update-initramfs -u
sudo rmmod algif_aead 2>/dev/null || echo "मॉड्यूल उपयोग में है — रीबूट आवश्यक"
⚠️ RHEL-परिवार कर्नेल पर,
algif_aeadकर्नेल में बिल्ट-इन है (CONFIG_CRYPTO_USER_API_AEAD=y)।
modprobe.dनियमों का कोई प्रभाव नहीं है। इसके बजाय grub पैरामीटर का उपयोग करें:
sudo grubby --update-kernel=ALL --args='initcall_blacklist=algif_aead_init'
sudo reboot
sudo pacman -Syu linux && sudo reboot
शमन निम्नलिखित में से किसी को भी प्रभावित नहीं करता:
dm-crypt / LUKS पूर्ण-डिस्क एन्क्रिप्शनकेवल वे एप्लिकेशन जो स्पष्ट रूप से afalg इंजन का उपयोग करने के लिए कॉन्फ़िगर किए गए हैं या जो सीधे AF_ALG AEAD सॉकेट बांधते हैं, प्रभावित हो सकते हैं — यह मानक तैनाती में दुर्लभ है।
Hetzner OS अपडेट स्वचालित रूप से लागू नहीं करता। Ubuntu unattended-upgrades पूर्व-स्थापित भेजता है, लेकिन इसे सक्षम और कॉन्फ़िगर किया जाना चाहिए।
# जांचें कि क्या स्वचालित सुरक्षा अपडेट सक्रिय हैं
cat /etc/apt/apt.conf.d/20auto-upgrades
# अपडेट इतिहास देखें
grep "^Start-Date\|^Commandline" /var/log/apt/history.log | tail -30
# जांचें कि क्या kmod शमन स्वचालित रूप से लागू किया गया था
grep "kmod\|algif" /var/log/apt/history.log
# अंतिम unattended-upgrades रन जांचें
tail -30 /var/log/unattended-upgrades/unattended-upgrades.log
नोट:
unattended-upgradesसक्षम होने पर भी, स्वचालित रीबूट डिफ़ॉल्ट रूप से बंद होते हैं।
एक नया कर्नेल केवल मैन्युअलrebootके बाद सक्रिय होता है।
यह स्क्रिप्ट उन सिस्टमों पर उपयोग के लिए है जिनके आप मालिक हैं या जिनका परीक्षण करने के लिए आप अधिकृत हैं।
यह केवल-पठन जांच करती है और किसी भी तरह से भेद्यता का शोषण नहीं करती।
| वितरण | जांच विधि |
|---|
| Ubuntu / Linux Mint | kmod पैकेज संस्करण (USN-8226-1) |
| Debian | kmod पैकेज संस्करण + सुरक्षा ट्रैकर |
| Parrot OS | kmod पैकेज संस्करण (Debian रोलिंग) |
| RHEL / CentOS / AlmaLinux / Rocky | dnf updateinfo + initcall_blacklist cmdline |
| Fedora | dnf updateinfo |
| Amazon Linux | dnf check-update --security |
| SUSE / openSUSE | zypper lp |
| Arch Linux | pacman -Syu linux |
| संसाधन | लिंक |
|---|