Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-31431 — Linux कर्नेल स्थानीय विशेषाधिकार वृद्धि (CVE-2026-31431) के लिए शोषण और डिटेक्टर, जो रूट प्राप्त करने के लिए पेज कैश को दूषित करता है, साथ में शमन मार्गदर्शन। | Kitploit
उपकरण/GitHubGitHub/kaleth4/cve-2026-31431
विशेषाधिकार वृद्धिशोषण फ्रेमवर्कभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंग
GitHubkaleth4/cve-2026-31431

CVE-2026-31431

Linux कर्नेल स्थानीय विशेषाधिकार वृद्धि (CVE-2026-31431) के लिए शोषण और डिटेक्टर, जो रूट प्राप्त करने के लिए पेज कैश को दूषित करता है, साथ में शमन मार्गदर्शन।

रिपॉजिटरी देखें
3 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

🚨 CVE-2026-31431: कॉपी फेल

लिनक्स कर्नेल में 9 साल पुराना गंभीर दोष जो सेकंडों में रूट एक्सेस दिलाता है


📋 कार्यकारी सारांश

विशेषताविवरण
CVECVE-2026-31431
उपनामकॉपी फेल
प्रकारस्थानीय विशेषाधिकार वृद्धि (LPE)
CVSS7.8 (उच्च)
खोजकर्ताTheori (Xint Code)
प्रकटीकरण29 अप्रैल 2026
घटकलिनक्स कर्नेल का algif_aead सबसिस्टम

⚡ यह इतना खतरनाक क्यों है?

🎯 गति

  • तात्कालिक एक्सप्लॉइट: रूट पाने के लिए < 1 सेकंड
  • मात्र 732 बाइट्स का पायथन स्क्रिप्ट

👻 पूर्ण गोपनीयता

  • केवल RAM मेमोरी (पेज कैश) को संशोधित करता है, डिस्क को नहीं
  • फ़ाइल अखंडता उपकरण इसे पहचान नहीं पाते
  • रीबूट करने पर निशान गायब हो जाता है (फोरेंसिक विश्लेषण से समझौता)

🌍 व्यापक प्रभाव

  • लगभग सभी आधुनिक डिस्ट्रीब्यूशन को प्रभावित करता है
  • कर्नेल v4.14 (2017) से v7.0-rc तक
  • 9 वर्षों तक बिना पहचाने कमजोर

☁️ क्लाउड/कुबरनेट्स में जोखिम

  • कंटेनरों से मुख्य नोड तक एस्केप की अनुमति देता है
  • पेज कैश होस्ट और कंटेनरों के बीच साझा होता है
  • मल्टी-टेनेंट वातावरण में गंभीर प्रभाव

🔍 तकनीकी विवरण

मूल कारण

2017 में पेश किए गए "इन-प्लेस" (in-place) ऑप्टिमाइज़ेशन में दोष (commit 72548b093ee3)। यह स्थानीय उपयोगकर्ता को सीधे कर्नेल के पेज कैश में नियंत्रित 4-बाइट लेखन करने की अनुमति देता है।

एक्सप्लॉइटेशन तंत्र

  1. हमलावर कर्नेल क्रिप्टोग्राफ़िक एल्गोरिदम तक पहुँचने के लिए AF_ALG इंटरफ़ेस का उपयोग करता है
  2. setuid बाइनरी (/usr/bin/su) या संवेदनशील फ़ाइलों (/etc/passwd) के मेमोरी संस्करण को दूषित करता है
  3. दूषित बाइनरी को निष्पादित करने पर, रूट शेल प्राप्त होता है

यह अनदेखा क्यों रहा

यह एक तार्किक डिज़ाइन बग है, मेमोरी ओवरफ़्लो नहीं। इसे पहचानने के लिए क्रिप्टोग्राफ़िक सबसिस्टम का गहन विश्लेषण आवश्यक था।


📊 प्रभावित सिस्टम

✅ पुष्टि किए गए

  • Ubuntu: 20.04, 22.04, 24.04 LTS
  • RHEL/AlmaLinux/Rocky Linux: सभी आधुनिक संस्करण
  • Debian: कर्नेल v4.14+ वाले सभी संस्करण
  • Amazon Linux 2023
  • SUSE: हाल के संस्करण

🛡️ निवारण योजना

1️⃣ अंतिम समाधान: कर्नेल अपडेट करें

root@kitploit:~
# Ubuntu/Debian
sudo apt update
sudo apt upgrade
sudo reboot

# RHEL/AlmaLinux/Rocky
sudo dnf update kernel
sudo reboot

# कर्नेल संस्करण जांचें
uname -r

⚠️ नया कर्नेल सक्रिय करने के लिए रीबूट अनिवार्य है।


2️⃣ आपातकालीन शमन (तत्काल रीबूट के बिना)

Ubuntu/Debian के लिए:

root@kitploit:~
# कमजोर मॉड्यूल की लोडिंग अक्षम करें
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/copyfail_mitigation.conf

# यदि पहले से उपयोग में है तो मॉड्यूल अनलोड करें
sudo rmmod algif_aead

RHEL/AlmaLinux के लिए:

root@kitploit:~
# मॉड्यूल आमतौर पर कर्नेल में एकीकृत होता है
# इसे अक्षम करने के लिए बूट पैरामीटर जोड़ें
sudo grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"

# परिवर्तन लागू करने के लिए रीबूट करें
sudo reboot

3️⃣ कैश साफ़ करें (यदि पिछले एक्सप्लॉइटेशन का संदेह हो)

root@kitploit:~
# पेज कैश को गर्म-स्थिति में शुद्ध करें
sudo sysctl -w vm.drop_caches=3

⚠️ नोट: यह पैच का विकल्प नहीं है। यह केवल एक पूरक उपाय है।


📅 घटनाओं की समयरेखा

तिथिघटना
29 अप्रैलTheori द्वारा सार्वजनिक प्रकटीकरण
1 मईसक्रिय एक्सप्लॉइटेशन के पहले प्रयासों का पता चला

📦 पैच की स्थिति


🔐 अपने सिस्टम की जाँच करें

क्या आपका कर्नेल कमजोर है?

root@kitploit:~
# कर्नेल संस्करण प्राप्त करें
uname -r

# कमजोर है यदि:
# - v4.14 से v7.0-rc (2017 और अप्रैल 2026 के बीच जारी)
# - इसमें commit 72548b093ee3 शामिल है

# जाँचें कि algif_aead मॉड्यूल लोड है या नहीं
lsmod | grep algif_aead

# यदि सूची में दिखाई देता है, तो आपका सिस्टम कमजोर है

🧬 सुरक्षा विश्लेषण: AI कारक

सबसे विघटनकारी: AI द्वारा 1 घंटे में खोज

एक AI ने इस दोष की पहचान की जो डेवलपर्स से 9 वर्षों तक छिपा रहा। यह एक नए युग की शुरुआत है:

  • 🤖 मशीनें कर्नेल कोड का ऑडिट मनुष्यों से तेज़ कर सकती हैं
  • 🔍 जटिल तार्किक दोषों को स्वचालित रूप से खोजना
  • ⚠️ 0-दिन अनुसंधान के भविष्य के लिए निहितार्थ

त्वरित आरंभ

root@kitploit:~
# 1. पहचान
python3 prueba.py
#   exit 0 = कमजोर नहीं, 2 = कमजोर, 1 = परीक्षण त्रुटि

# 2. एक्सप्लॉइट (इंटरैक्टिव — su आपके अपने पासवर्ड के लिए पूछेगा)
python3 exploit.py --shell

डिटेक्टर उपयोग

root@kitploit:~
python3 prueba.py

यह क्या करता है:

  1. पुष्टि करता है कि AF_ALG और एल्गोरिदम authencesn(hmac(sha256),cbc(aes)) एक विशेषाधिकार-रहित प्रक्रिया से सुलभ हैं।

  2. एक अस्थायी निर्देशिका में 4 KiB का सेंटिनल फ़ाइल बनाता है और पेज कैश भरता है।

  3. sendmsg+cmsg के माध्यम से seqno_lo को PWND मार्कर पर सेट करके 8 बाइट AAD इनलाइन भेजता है, और फिर os.splice() के माध्यम से सेंटिनल के पेज कैश पेज से 32 बाइट्स को AF_ALG ऑपरेशन सॉकेट में कॉपी करता है।

  4. डिक्रिप्शन शुरू करने के लिए recv() को कॉल करता है। प्रमाणीकरण जाँच EBADMSG के साथ विफल होती है; अस्थायी लेखन फिर भी निष्पादित होता है।

  5. फ़ाइल को फिर से पढ़ता है (पेज कैश, डिस्क नहीं) और मार्कर की खोज करता है।

आउटपुट वर्ग:

  • पूर्व शर्त पूरी नहीं हुई: AF_ALG या authencesn उपलब्ध नहीं। निकास 0।
  • CVE-2026-31431 के लिए कमजोर: PWND मार्कर संशोधित पेज में डाला गया।

निकास 2।

  • इन-प्लेस AEAD सम्मिलन पथ के माध्यम से पेज कैश संशोधित: पेज में लेखन हुआ, लेकिन मार्कर अपेक्षित स्थिति में नहीं डाला गया। कमजोर मानें। निकास 2।
  • पेज कैश अक्षुण्ण: पैच किया गया। निकास 0।

डिटेक्टर /usr/bin/su, /etc/passwd या अस्थायी निर्देशिका के बाहर किसी भी अन्य फ़ाइल को कभी संशोधित नहीं करता, और समाप्ति पर वह फ़ाइल हटा दी जाती है।

आउटपुट। ## LPE उपयोग

root@kitploit:~
python3 exploit_cve_2026_31431.py # केवल पैच करता है, अगले चरण प्रिंट करता है
python3 exploit_cve_2026_31431.py --shell # पैच करता है और `su <उपयोगकर्ता>` चलाता है

कार्य:

  1. /etc/passwd में चल रहे उपयोगकर्ता की UID लाइन खोजता है और 4-वर्ण UID फ़ील्ड का

बाइट ऑफ़सेट ढूंढता है।

  1. उस ऑफ़सेट पर एक write4 निष्पादित करता है, UID को

0000 से प्रतिस्थापित करता है।

  1. यह पुष्टि करने के लिए pwd.getpwnam(उपयोगकर्ता) को कॉल करता है कि libc अब UID 0 रिपोर्ट करता है।
  2. --shell के साथ, execvp("su", ["su", उपयोगकर्ता]) निष्पादित करता है। अपना स्वयं का पासवर्ड दर्ज करें। PAM /etc/shadow (अपरिवर्तित) के विरुद्ध सत्यापित करता है, फिर

setuid(getpwnam(user).pw_uid) 0 पर सेट होता है।

आवश्यकताएँ

  • चल रहे उपयोगकर्ता का UID 4 अंकों का है (1000–9999)। 1 से 3 अंकों के UID

के लिए मल्टी-शॉट लेखन आवश्यक है; तदनुसार write4 का विस्तार करें।

  • कोई NSS कैश डेमॉन (nscd, sssd, systemd-userdbd) /etc/passwd की रीडिंग को मास्क नहीं कर रहा है। यदि पैच लगाने के बाद भी getpwnam वास्तविक UID लौटाता है, तो कैश को रीबूट करें या अनदेखा करें, या एक अलग उपयोगकर्ता चुनें।

  • /etc/passwd पेज पैच लगाने और su के निष्पादन के बीच कैश में बना रहना चाहिए। व्यवहार में, यह सामान्य मेमोरी दबाव वाले किसी भी सिस्टम पर विश्वसनीय है।

पूर्ववत करना

डिस्क पर /etc/passwd फ़ाइल अपरिवर्तित रहती है।

ड्राई रन (exploit_cve_2026_31431.py बिना --shell) बाहर निकलते समय POSIX_FADV_DONTNEED के माध्यम से दूषित पेज को स्वचालित रूप से हटा देता है, इसलिए UID → नाम लुकअप तुरंत सामान्य हो जाते हैं।

--shell** का उपयोग करने के बाद, पेज तब तक दूषित रहता है जब तक इसे हटाया नहीं जाता। जब तक यह दूषित है, UID 1000 → नाम हल करने वाला कोई भी ऑपरेशन (जैसे, ls, फ़ाइल प्रबंधक, scp/sftp स्वामित्व जाँच) विफल होगा या संख्यात्मक पहचानकर्ता दिखाएगा। इसे हटाने के लिए:

root@kitploit:~
# विशेषाधिकार-रहित: /etc/passwd के पेज कैश हटाने का अनुरोध करें:
python3 -c "import os; fd=os.open('/etc/passwd', os.O_RDONLY); \
os.posix_fadvise(fd, 0, 0, os.POSIX_FADV_DONTNEED); os.close(fd)"

# रूट कंसोल से:
echo 3 > /proc/sys/vm/drop_caches

रीबूट भी इसे हटा देता है।

write4 कैसे काम करता है

root@kitploit:~
sendmsg([8 बाइट AAD], cmsg=[ALG_SET_OP=DECRYPT, ALG_SET_IV, ALG_SET_AEAD_ASSOCLEN=8],
flags=MSG_MORE)
splice(target_fd, pipe_w, 32, offset_src=file_offset)
splice(pipe_r, op_fd, 32)
recv(op_fd) # EBADMSG; अस्थायी लेखन पहले ही हो चुका है

AAD की स्थिति 4 से 7 के 4 बाइट (seqno_lo) authencesn द्वारा लक्ष्य स्कैटर सूची में लिखे जाते हैं, जो इस कोड पथ में वह पेज कैश पेज है जिसे हमने target_fd से निकाला था। पेज के भीतर लैंडिंग ऑफ़सेट उस offset_src से मेल खाता है जिसे हमने splice() को पास किया था।

शमन

जब तक पैच किया गया कर्नेल आपके डिस्ट्रीब्यूशन तक नहीं पहुँचता:

root@kitploit:~
sudo tee /etc/modprobe.d/disable-algif-aead.conf <<<'install algif_aead /bin/false'
sudo rmmod algif_aead 2>/dev/null

पैच लगाने के बाद, test_cve_2026_31431.py को «पूर्व शर्त पूरी नहीं हुई» संदेश दिखाना चाहिए और कोड 0 के साथ बाहर निकलना चाहिए।

मूल सुधार AEAD इन-प्लेस ऑपरेशनों को आउट-ऑफ-प्लेस ऑपरेशनों में वापस लाता है, पेज कैश पेजों को संशोधन योग्य स्कैटर सूचियों से बाहर रखता है।

📚 आधिकारिक संदर्भ

  • CVE-2026-31431 - NVD
  • कॉपी फेल पैच - AlmaLinux
  • Sysdig सुरक्षा अनुसंधान
  • CISA अलर्ट

⚠️ अंतिम अनुशंसाएँ

  1. गंभीर प्राथमिकता: अपना कर्नेल 15 मई 2026 से पहले अपडेट करें (CISA अनिवार्यता)
  2. यदि रीबूट नहीं कर सकते: algif_aead को अक्षम करके अस्थायी शमन लागू करें
  3. क्लाउड/कुबरनेट्स में: तुरंत सत्यापित करें कि आपके नोड पैच किए गए हैं
  4. निगरानी: ऑडिट लॉग में algif_aead मॉड्यूल लोड करने के प्रयासों की खोज करें

अंतिम अपडेट: 3 मई 2026
स्थिति: 🔴 गंभीर - तत्काल कार्रवाई आवश्यक

टूल डाउनलोड करें
2 मईCISA ने अमेरिकी संघीय एजेंसियों को 15 मई से पहले पैच करने का आदेश दिया
3 मईUbuntu, RHEL, AlmaLinux, Debian में पैच उपलब्ध
डिस्ट्रीब्यूशनस्थितिसंदर्भ
Ubuntu✅ पैच किया गयाUSN-8226-1 (20.04, 22.04, 24.04)
RHEL/AlmaLinux/Rocky✅ उपलब्ध1 मई से
Debian✅ सुरक्षा रिपॉजिटरी मेंअपडेट उपलब्ध
Android⏳ जल्द हीजून 2026 सुरक्षा बुलेटिन