Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Linux-Kernel-Copy-Fail-CVE-2026-31431- — लिनक्स कर्नेल कॉपी फेल (CVE-2026-31431) भेद्यता का विश्लेषण और शमन जो AF_ALG/splice पेज कैश म्यूटेशन का शोषण करती है, एवं इसमें PoC जांचकर्ता, auditd पहचान नियम और कर्नेल अपडेट सत्यापन शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/jihwan77/linux-kernel-copy-fail-cve-2026-31431-
भेद्यता विश्लेषणशोषणबाइनरी विश्लेषणलर्निंग और शिक्षाघटना प्रतिक्रिया
GitHubjihwan77/linux-kernel-copy-fail-cve-2026-31431-

Linux-Kernel-Copy-Fail-CVE-2026-31431-

लिनक्स कर्नेल कॉपी फेल (CVE-2026-31431) भेद्यता का विश्लेषण और शमन जो AF_ALG/splice पेज कैश म्यूटेशन का शोषण करती है, एवं इसमें PoC जांचकर्ता, auditd पहचान नियम और कर्नेल अपडेट सत्यापन शामिल हैं।

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

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

सभी देखें →

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

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

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

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

Copy Fail(CVE-2026-31431) भेद्यता विश्लेषण और प्रतिक्रिया अभ्यास

यह परियोजना Linux Kernel Copy Fail (CVE-2026-31431) भेद्यता के कार्य सिद्धांत का विश्लेषण करती है, और सार्वजनिक PoC रिपॉजिटरी के गैर-विनाशकारी चेकर का उपयोग करके पैच से पहले और बाद की स्थिति की तुलना करने वाली एक मिनी-परियोजना है।
वास्तविक setuid बाइनरी में हेरफेर या /etc/passwd में हेरफेर करने वाला एक्सप्लॉइट नहीं किया गया है, बल्कि अस्थायी testfile-आधारित सुरक्षित भेद्यता जाँच और पता लगाने/शमन दृष्टिकोण के विश्लेषण पर ध्यान केंद्रित किया गया है।


1. परियोजना के उद्देश्य

इस परियोजना का उद्देश्य केवल एक्सप्लॉइट चलाना नहीं है, बल्कि यह समझना है कि Linux कर्नेल भेद्यता किस आंतरिक संरचना के संयोजन से उत्पन्न होती है और परिचालन दृष्टिकोण से इसकी पहचान और प्रतिक्रिया कैसे की जा सकती है।

कार्यक्षेत्र निम्नानुसार है:

भेद्यता सिद्धांत विश्लेषण
    ↓
PoC कोड संरचना विश्लेषण
    ↓
गैर-विनाशकारी चेकर-आधारित अभ्यास
    ↓
पैच से पहले और बाद की तुलना
    ↓
पता लगाने/शमन उपायों का सारांश

इस अभ्यास में केवल copy-fail-c रिपॉजिटरी के vulnerable.c को चलाया गया।


2. अभ्यास वातावरण

विभाजनपैच से पहलेपैच के बाद
OSUbuntu 24.04.2 LTSUbuntu 24.04.4 LTS
Kernel6.8.0-53-generic6.8.0-134-generic
खातासामान्य उपयोगकर्ता clientसामान्य उपयोगकर्ता client
चेकरvulnerablevulnerable
परीक्षण विधिअस्थायी testfile-आधारित गैर-विनाशकारी जाँचवही चेकर पुनः चलाया

पैच से पहले कर्नेल जानकारी:

Linux ubuntu-server 6.8.0-53-generic #55-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 17 15:37:52 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

पैच के बाद कर्नेल जानकारी:

Linux ubuntu-server 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

कर्नेल पैकेज परिवर्तन सारांश:

- linux-image-6.8.0-53-generic  6.8.0-53.55
- linux-image-generic           6.8.0-53.55+1

+ linux-image-6.8.0-134-generic 6.8.0-134.134
+ linux-image-generic           6.8.0-134.134
+ linux-generic                 6.8.0-134.134
+ linux-headers-generic         6.8.0-134.134

3. भेद्यता अवधारणा सारांश

Copy Fail Linux कर्नेल के AF_ALG AEAD प्रसंस्करण पथ और splice() zero-copy संचालन के संयोजन से उत्पन्न होने वाली भेद्यता है, जिसमें केवल-पढ़ने योग्य फ़ाइल का page cache गलत लेखन लक्ष्य के रूप में उपयोग किया जा सकता है।

मुख्य घटक निम्नानुसार हैं:

तत्वभूमिका
Linux page cacheडिस्क फ़ाइल सामग्री को RAM में कैश करने वाला कर्नेल तंत्र
splice()डेटा को उपयोगकर्ता स्थान पर कॉपी किए बिना कर्नेल के अंदर संदर्भ के रूप में जोड़ने वाला zero-copy syscall
AF_ALGउपयोगकर्ता स्थान को Linux kernel crypto API को सॉकेट की तरह उपयोग करने की अनुमति देने वाला इंटरफ़ेस
AEAD in-place प्रसंस्करणइनपुट और आउटपुट बफ़र को अलग न रखकर एक ही बफ़र में प्रसंस्करण करने वाला अनुकूलन
authencesnAEAD प्रसंस्करण के दौरान 4-बाइट scratch write उत्पन्न करने वाला crypto template

भेद्यता का मुख्य प्रवाह निम्नानुसार है:

पढ़ने योग्य फ़ाइल
    ↓
Linux page cache में लोड होती है
    ↓
splice() के माध्यम से AF_ALG crypto पथ को page cache संदर्भ भेजा जाता है
    ↓
AEAD in-place प्रसंस्करण इनपुट और आउटपुट scatterlist को जोड़ता है
    ↓
authencesn प्रसंस्करण के दौरान 4-बाइट scratch write होता है
    ↓
एक अलग आउटपुट बफ़र के बजाय page cache पर लेखन होता है
    ↓
page cache mutation होता है

अर्थात, splice() page cache संदर्भ भेजता है, AEAD in-place प्रसंस्करण इनपुट और आउटपुट को एक ही पथ से जोड़ता है, और authencesn वास्तविक 4-बाइट लेखन उत्पन्न करने की भूमिका निभाता है।


4. PoC कोड संरचना विश्लेषण

अभ्यास में उपयोग की गई रिपॉजिटरी संरचना निम्नानुसार है:

copy-fail-c/
├── exploit.c
├── exploit-passwd.c
├── vulnerable.c
├── payload.c
├── utils.c
├── utils.h
├── Makefile
└── nolibc/
फ़ाइलभूमिकाइस अभ्यास में उपयोग
utils.c, utils.hAF_ALG/splice-आधारित page cache mutation primitive कार्यान्वयनविश्लेषण और vulnerable चलाने में उपयोग
vulnerable.cअस्थायी testfile-आधारित गैर-विनाशकारी भेद्यता जाँच उपकरणचलाया गया
exploit.csetuid root बाइनरी page cache हेरफेर variantनहीं चलाया गया
exploit-passwd.c/etc/passwd page cache हेरफेर variantनहीं चलाया गया
payload.croot अधिकारों के साथ चलने वाला payloadनहीं चलाया गया
Makefileनिर्माण स्वचालनकेवल vulnerable target उपयोग
nolibc/छोटे static ELF payload निर्माण के लिए हल्का libc विकल्प कोडकेवल विश्लेषण

4.1 utils.c

utils.c का मुख्य भाग patch_chunk() श्रृंखला के page cache mutation primitive हैं। यह फ़ंक्शन AF_ALG और splice() का उपयोग करके लक्ष्य फ़ाइल के page cache को crypto प्रसंस्करण पथ से जोड़ता है, और यह जाँचता है कि क्या कमजोर कर्नेल में AEAD प्रसंस्करण के दौरान page cache का कुछ भाग अधिलेखित हो जाता है।

4.2 vulnerable.c

vulnerable.c वास्तविक सिस्टम फ़ाइलों को नहीं छेड़ता है। यह वर्तमान निर्देशिका में एक अस्थायी testfile बनाता है और जाँचता है कि क्या उस फ़ाइल का page cache बदल गया है।

इस परियोजना में केवल यह फ़ाइल चलाई गई।


5. अभ्यास प्रक्रिया

5.1 पैच से पहले स्थिति रिकॉर्ड

कर्नेल अद्यतन करने से पहले, OS, कर्नेल और पैकेज स्थिति रिकॉर्ड की गई।

mkdir -p ~/copyfail-mini/{before,after,logs}
cd ~/copyfail-mini

uname -a | tee before/uname.txt
cat /etc/os-release | tee before/os-release.txt
dpkg -l | grep -E 'linux-image|linux-headers|linux-generic|linux-virtual' | tee before/kernel-package.txt

5.2 PoC रिपॉजिटरी क्लोन और चेकर बिल्ड

git clone https://github.com/jihwan77/copy-fail-c.git
cd copy-fail-c

make clean
make vulnerable

इस अभ्यास में डिफ़ॉल्ट make द्वारा एक्सप्लॉइट बाइनरी को एक साथ नहीं बनाया गया, बल्कि केवल vulnerable target का उपयोग किया गया।

5.3 पैच से पहले चेकर चलाना

./vulnerable > ../before/vulnerable-output.txt 2>&1
echo $? >> ../before/vulnerable-output.txt
cat ../before/vulnerable-output.txt

पैच से पहले निष्पादन परिणाम:

alt text

निर्णय:

exit code 100
→ page cache mutation की पुष्टि
→ पैच से पहले कर्नेल में Copy Fail primitive काम करता है

6. पैच से पहले और बाद की तुलना

6.1 कर्नेल अद्यतन

पैच से पहले के परिणामों को सहेजने के बाद, Ubuntu पैकेज अद्यतन किया गया।

sudo apt update
sudo apt full-upgrade -y
sudo reboot

रीबूट के बाद कर्नेल निम्नानुसार बदल गया:

Before: 6.8.0-53-generic
After : 6.8.0-134-generic

6.2 पैच के बाद चेकर पुनः चलाना

cd ~/copyfail-mini/copy-fail-c
make clean
make vulnerable

./vulnerable > ../after/vulnerable-output.txt 2>&1
echo "exit_code=$?" >> ../after/vulnerable-output.txt
cat ../after/vulnerable-output.txt

पैच के बाद निष्पादन परिणाम:

alt text

परिणाम तुलना:

आइटमपैच से पहलेपैच के बाद
Kernel6.8.0-53-generic6.8.0-134-generic
चेकर परिणामVULNERABLEauthencesn template not registered
Exit Code1002
Page cache mutationपुष्टिचेकर mutation चरण तक नहीं पहुंचा
व्याख्याCopy Fail primitive काम करता हैPoC द्वारा आवश्यक AEAD/authencesn पथ में प्रवेश विफल

7. पैच के बाद परिणाम व्याख्या

पैच के बाद exit_code=2 का सीधा अर्थ "कमजोर नहीं" नहीं है। सटीक रूप से यह निम्नानुसार है:

AF_ALG का authencesn(hmac(sha256),cbc(aes)) template पंजीकृत नहीं है,
इसलिए चेकर भेद्यता की सीधे पुष्टि नहीं कर सका

अतिरिक्त जाँच से पता चला कि Ubuntu अद्यतन के बाद algif_aead मॉड्यूल लोड अवरुद्ध कर दिया गया था।

lsmod | grep -E 'af_alg|algif_aead'

परिणाम:

af_alg 32768 0

algif_aead लोड नहीं था।

sudo modprobe algif_aead

परिणाम:

टूल डाउनलोड करें