
गोलैंग में लिखा गया Copy Fail (CVE-2026-31431) स्थानीय विशेषाधिकार वृद्धि शोषण का पुनर्लेखन, जो Linux सिस्टम पर root प्राप्त करने के लिए पेज कैश को दूषित करता है।
हर प्रमुख लिनक्स डिस्ट्रीब्यूशन पर 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
go run exp.go
go build -ldflags "-w -s" -trimpath -o exp exp.go
tinygo build -o exp exp.go
| क्षमता | विवरण |
|---|---|
| पोर्टेबल | वही स्क्रिप्ट Ubuntu, Amazon Linux, RHEL, SUSE और अन्य पर काम करती है — कोई प्रति-डिस्ट्रो ऑफसेट नहीं |
यह रिपॉजिटरी केवल शैक्षिक और रक्षात्मक अनुसंधान उद्देश्यों के लिए प्रकाशित की गई है। इस कोड का उपयोग उन सिस्टमों पर न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है।
| छोटा | Python एक्सप्लॉइट ~732 बाइट्स है |
| गुप्त | VFS राइट पथ को बायपास करता है; पेज कभी डर्टी चिह्नित नहीं होता; डिस्क पर चेकसम अपरिवर्तित रहते हैं |
| क्रॉस-कंटेनर | पेज कैश कंटेनरों के बीच साझा होता है — कंटेनर एस्केप वेक्टर (भाग 2 देखें) |