
CVE-2026-31431 के लिए एक्सप्लॉइट, एक Linux कर्नेल authencesn बग जो 4-बाइट पेज कैश राइट के माध्यम से स्थानीय विशेषाधिकार वृद्धि और कंटेनर एस्केप को सक्षम बनाता है।
हर प्रमुख लिनक्स डिस्ट्रीब्यूशन पर 732 बाइट्स से रूट
CVE-2026-31431 (कॉपी फेल) लिनक्स कर्नेल के authencesn क्रिप्टोग्राफिक टेम्पलेट में एक लॉजिक बग है। यह एक अनप्रिविलेज्ड स्थानीय उपयोगकर्ता को सिस्टम पर किसी भी पठनीय फ़ाइल के पेज कैश में एक निर्धारित, नियंत्रित 4-बाइट राइट ट्रिगर करने की अनुमति देता है।
CONFIG_CRYPTO_AUTHENC वाले लिनक्स कर्नेल (मूल रूप से 2017 से सभी प्रमुख डिस्ट्रो)यह बग दो व्यवहारों को जोड़ता है:
AF_ALG + splice: splice() पेज कैश पेजों को संदर्भ द्वारा AF_ALG सॉकेट के स्कैटरलिस्ट में स्थानांतरित करता है। AEAD डिक्रिप्शन इन-प्लेस मोड के लिए, टैग पेज (लक्ष्य फ़ाइल के पेज कैश से) sg_chain() के माध्यम से आउटपुट स्कैटरलिस्ट से जुड़े रहते हैं।
authencesn स्क्रैच राइट: crypto_authenc_esn_decrypt() ESN अनुक्रम संख्या पुनर्व्यवस्था के लिए स्क्रैच स्पेस के रूप में dst[assoclen + cryptlen] (टैग से आगे, पेज कैश पेजों में) का उपयोग करता है, 4 हमलावर-नियंत्रित बाइट्स लिखता है और उन्हें कभी पुनर्स्थापित नहीं करता है।
दूषित पेज कभी डर्टी चिह्नित नहीं होता, इसलिए डिस्क पर फ़ाइल अपरिवर्तित रहती है। लेकिन मेमोरी में पेज कैश ही वह है जो वास्तव में पढ़ा जाता है — जिससे भ्रष्टाचार पूरे सिस्टम में तुरंत दिखाई देता है।
एक्सप्लॉइट /usr/bin/su (या किसी भी setuid बाइनरी) के पेज कैश को एक छोटे शेलकोड पेलोड के साथ दूषित करता है, एक बार में 4 बाइट्स। सभी पुनरावृत्तियों के बाद, su चलाने से पेलोड निष्पादित होता है और रूट शेल में गिर जाता है।
python3 exp.py
gcc -o exp exp.c
./exp
| क्षमता | विवरण |
|---|---|
| पोर्टेबल | एक ही स्क्रिप्ट Ubuntu, Amazon Linux, RHEL, SUSE और अधिक पर काम करती है — कोई प्रति-डिस्ट्रो ऑफसेट नहीं |
यह रिपॉजिटरी केवल शैक्षिक और रक्षात्मक अनुसंधान उद्देश्यों के लिए प्रकाशित की गई है। इस कोड का उपयोग उन सिस्टमों पर न करें जिनके आप मालिक नहीं हैं या जिन पर परीक्षण करने की स्पष्ट अनुमति नहीं है।
| छोटा | Python एक्सप्लॉइट ~732 बाइट्स है |
| गुप्त | VFS राइट पथ को बायपास करता है; पेज कभी डर्टी चिह्नित नहीं होता; डिस्क पर चेकसम अपरिवर्तित रहते हैं |
| क्रॉस-कंटेनर | पेज कैश कंटेनरों के बीच साझा होता है — कंटेनर एस्केप वेक्टर (भाग 2 देखें) |