
CVE-2026-31431 (कॉपी फेल) के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो algif_aead पेज-कैश भ्रष्टाचार के माध्यम से Linux कर्नेल LPE है, जिसमें पहचान, प्रयोगशाला और शमन मार्गदर्शन शामिल है।
██████╗ ██████╗ ██████╗ ██╗ ██╗ ███████╗ █████╗ ██╗██╗
██╔════╝██╔═══██╗██╔══██╗╚██╗ ██╔╝ ██╔════╝██╔══██╗██║██║
██║ ██║ ██║██████╔╝ ╚████╔╝ █████╗ ███████║██║██║
██║ ██║ ██║██╔═══╝ ╚██╔╝ ██╔══╝ ██╔══██║██║██║
╚██████╗╚██████╔╝██║ ██║ ██║ ██║ ██║██║███████╗
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚══════╝
algif_aead पेज कैश भ्रष्टाचार के माध्यम से⚠️ केवल अधिकृत उपयोग — यह रिपॉजिटरी विशेष रूप से पैठ परीक्षकों, सुरक्षा शोधकर्ताओं और रक्षकों के लिए है जो कानूनी प्राधिकरण के तहत काम कर रहे हैं। दुरुपयोग एक आपराधिक अपराध है।
| # | अनुभाग | विवरण |
|---|---|---|
| 1 | कॉपी फ़ेल क्या है? | भेद्यता सारांश |
| 2 | तकनीकी गहन विश्लेषण | मूल कारण विश्लेषण |
| 3 | प्रभावित सिस्टम | डिस्ट्रो और कर्नेल मैट्रिक्स |
| 4 | रिपॉजिटरी संरचना | फ़ाइल लेआउट |
| 5 | प्रयोगशाला सेटअप | सुरक्षित रूप से पुनरुत्पादन |
| 6 | एक्सप्लॉइट उपयोग | पैठ परीक्षण कार्यप्रवाह |
| 7 | पहचान | YARA, Sigma, स्क्रिप्ट |
| 8 | शमन | पैच और सख्तीकरण |
| 9 | पैठ परीक्षण रिपोर्टिंग | रिपोर्ट टेम्पलेट |
| 10 | कानूनी और नैतिकता | अस्वीकरण |
| 11 | संदर्भ | CVE, सलाहकार, ब्लॉग |
कॉपी फ़ेल एक स्थानीय विशेषाधिकार वृद्धि (LPE) भेद्यता है जिसे 29 अप्रैल, 2026 को सार्वजनिक किया गया, जो 2017 से चल रहे कर्नेल वाले लगभग हर प्रमुख लिनक्स वितरण को प्रभावित करती है।
अनअप्रिविलेज्ड यूज़र ──► AF_ALG + splice() ──► 4-बाइट पेज कैश लेखन ──► ROOT
| गुण | विवरण |
|---|---|
| CVE ID | CVE-2026-31431 |
| उपनाम | कॉपी फ़ेल |
| CVSS v3.1 | 7.8 (उच्च) |
| हमला वेक्टर | स्थानीय |
| आवश्यक विशेषाधिकार | निम्न (कोई भी अनअप्रिविलेज्ड उपयोगकर्ता) |
| उपयोगकर्ता सहभागिता | कोई नहीं |
| खोजकर्ता | Xint Code (Theori) |
| सार्वजनिक तिथि | 29 अप्रैल, 2026 |
| एक्सप्लॉइट आकार | 732 बाइट्स (Python PoC) |
| पैच स्थिति | ✅ उपलब्ध — कमिट a664bf3d603d को वापस लाएँ |
यह भेद्यता 2017 में पेश किए गए एक बग्गी इन-प्लेस ऑप्टिमाइज़ेशन (कमिट 72548b093ee3) के कारण है, जो लिनक्स कर्नेल के उपयोगकर्ता-स्थान क्रिप्टो API (AF_ALG) के algif_aead मॉड्यूल के अंदर है।
AF_ALG (यूज़रस्पेस क्रिप्टो API)
└── algif_aead मॉड्यूल
└── authencesn टेम्पलेट ◄── कमजोर
└── इन-प्लेस ऑप्टिमाइज़ेशन (2017)
└── req->src == req->dst ◄── splice() से पेज लिखने योग्य dst स्कैटरलिस्ट में जंजीर
चरण 1: AF_ALG AEAD सॉकेट खोलें
socket(AF_ALG, SOCK_SEQPACKET, 0)
चरण 2: लक्ष्य फ़ाइल को संदर्भित करने वाले splice() पेज भेजें
(विशेषाधिकार प्राप्त बाइनरी का पेज कैश पेज, जैसे /usr/bin/sudo)
चरण 3: authencesn स्क्रैच राइट ट्रिगर करें
authencesn dst बफर को स्क्रैच पैड के रूप में उपयोग करता है →
वैध आउटपुट क्षेत्र से परे 4 नियंत्रित बाइट लिखता है
चरण 4: लक्ष्य फ़ाइल का पेज कैश एंट्री अब भ्रष्ट है
(डिस्क फ़ाइल अछूती — केवल मेमोरी कॉपी संशोधित)
चरण 5: संशोधित बाइनरी निष्पादित करें → ROOT
लिनक्स कर्नेल का पेज कैश फ़ाइलों की मेमोरी कॉपीज़ को रखता है। जब कोई फ़ाइल पढ़ी जाती है, तो उसके पेज कैश हो जाते हैं। splice() सिस्टम कॉल सीधे इन कैश किए गए पेजों को संदर्भित कर सकता है। पेज कैश पेजों को AF_ALG AEAD स्कैटरलिस्ट में डालकर, authencesn स्क्रैच राइट उन कैश किए गए पेजों के अंदर उतरती है, प्रभावी रूप से किसी भी पढ़ने योग्य फ़ाइल की मेमोरी कॉपी को पैच करती है — जिसमें विशेषाधिकार प्राप्त बाइनरी जैसे sudo, pkexec, या passwd शामिल हैं।
अपस्ट्रीम फिक्स 2017 के दोषपूर्ण ऑप्टिमाइज़ेशन को वापस लेता है:
# कमिट में फिक्स: a664bf3d603d
git show a664bf3d603d
| कर्नेल शाखा | प्रभावित? | फिक्स संस्करण |
|---|---|---|
| 4.9.x (LTS) | ✅ हाँ | 4.9.340+ |
| 5.4.x (LTS) | ✅ हाँ | 5.4.295+ |
| 5.10.x (LTS) | ✅ हाँ | 5.10.239+ |
| 5.15.x (LTS) | ✅ हाँ | 5.15.185+ |
| 6.1.x (LTS) | ✅ हाँ | 6.1.132+ |
| 6.6.x (LTS) | ✅ हाँ | 6.6.83+ |
| 6.12.x (LTS) | ✅ हाँ | 6.12.19+ |
| < 4.9 (पूर्व-2017) | ❌ नहीं | N/A — ऑप्टिमाइज़ेशन मौजूद नहीं |
| वितरण | प्रभावित संस्करण | पैच किया गया? | सलाहकार |
|---|---|---|---|
| Ubuntu | < 26.04 (सभी रिलीज़) | ✅ पैच किया गया | USN |
| Ubuntu 26.04 (Resolute) | ❌ प्रभावित नहीं | — | — |
| RHEL / CentOS | 7, 8, 9 | ✅ पैच किया गया | RHSA-2026 |
| Amazon Linux | 2, 2023 | ✅ पैच किया गया | ALAS |
| SUSE / openSUSE | सभी प्रभावित | ✅ पैच किया गया | SUSE-SU |
| Debian | Bullseye, Bookworm | ✅ पैच किया गया | DSA |
| CloudLinux | 8, 9 | ✅ पैच किया गया | सलाहकार |