
# CVE-2026-31431 के लिए Linux कर्नेल स्थानीय विशेषाधिकार वृद्धि शोषण विश्वसनीय सिंगल-शॉट PoC प्रदान करता है, जिसमें कई भाषा कार्यान्वयन, भेद्यता स्कैनर और शमन स्क्रिप्ट शामिल हैं।
2017 से सभी मुख्यधारा लिनक्स वितरणों को प्रभावित करने वाला 100% विश्वसनीय लिनक्स स्थानीय विशेषाधिकार वृद्धि।
authencesnमें एक लॉजिक बग, जोAF_ALGऔरsplice()के माध्यम से 4-बाइट पेज-कैश राइट में जुड़ता है — लगभग एक दशक तक चुपचाप शोषण योग्य।
इस रिपॉजिटरी में सभी कोड और दस्तावेज़ केवल अधिकृत सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए प्रदान किए गए हैं।
उन प्रणालियों के विरुद्ध एक्सप्लॉइट कोड चलाना जिनके आप स्वामी नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित प्राधिकरण नहीं है, अवैध है। इस रिपॉजिटरी का उपयोग करके, आप अपने कार्यों की पूरी जिम्मेदारी स्वीकार करते हैं।
| फ़ील्ड | विवरण |
|---|---|
| CVE | CVE-2026-31431 |
| उपनाम | कॉपी फेल |
| प्रकार | लिनक्स कर्नेल स्थानीय विशेषाधिकार वृद्धि (LPE) / पेज-कैश मनमाना राइट |
| CVSS v3.1 | 7.8 उच्च — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CWE | CWE-669 (क्षेत्रों के बीच गलत संसाधन स्थानांतरण) |
| घटक | crypto/algif_aead — authencesn क्रिप्टोग्राफिक टेम्पलेट |
| परिचय | 2017 (कमिट 72548b093ee3) |
| फिक्स | मेनलाइन कमिट a664bf3d603d (2026-04-01) |
| पैच किया गया कर्नेल | v6.18.22+, v6.19.12+, v7.0+ |
| खोजकर्ता | Xint / Theori (Taeyang Lee + Xint Code AI-सहायता प्राप्त ऑडिट) |
| प्रकटीकरण | 2026-04-29 — copy.fail |
| सामान्य लिनक्स LPE | कॉपी फेल | |
|---|---|---|
| रेस कंडीशन | आवश्यक | कोई नहीं |
| प्रति-वितरण ऑफसेट | आवश्यक | कोई नहीं |
| विश्वसनीयता | 30–80% | 100%, एकल शॉट |
| प्रभावित अवधि | संकीर्ण | 2017 → 2026 (9 वर्ष) |
| डिस्क पर संशोधन | संभव | कोई नहीं (गुप्त) |
| क्रॉस-कंटेनर | नहीं | हाँ |
.
├── README.md ← आप यहाँ हैं
├── LICENSE ← MIT
├── .gitignore
├── docs/
│ ├── analysis-report.md ← व्यापक सुरक्षा विश्लेषण
│ ├── analysis-report.html ← स्टाइलिश HTML संस्करण
│ ├── exploit-walkthrough.md ← लाइन-दर-लाइन PoC विश्लेषण
│ └── exploit-walkthrough.html ← स्टाइलिश HTML संस्करण
└── poc/
├── README.md ← PoC उपयोग मार्गदर्शिका
├── copy_fail_exp.py ← आधिकारिक PoC (732 बाइट्स, अस्पष्ट)
├── copy_fail_exp_readable.py ← डी-अस्पष्ट + एनोटेटेड संस्करण
├── copy_fail_exp_compat.py ← Python 3.6+ संगत (ctypes splice)
├── copy_fail_exp_alpine.py ← Alpine Linux संस्करण
├── copy_fail_exp.c ← C कार्यान्वयन (शून्य निर्भरता)
├── copy_fail_exp.go ← Go कार्यान्वयन (शून्य निर्भरता)
├── copy_fail_rust/ ← Rust कार्यान्वयन
│ ├── Cargo.toml
│ └── src/main.rs
├── check_vulnerable.py ← भेद्यता स्कैनर
└── mitigate.sh ← एक-क्लिक शमन स्क्रिप्ट
# GitHub Releases से — पूर्व-निर्मित बाइनरी (Linux amd64/arm64) + सभी Python स्क्रिप्ट
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-go-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-c-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-python.tar.gz
tar xzf copy-fail-go-linux.tar.gz
tar xzf copy-fail-c-linux.tar.gz
tar xzf copy-fail-python.tar.gz
# Go स्टैटिक बाइनरी (Python की आवश्यकता नहीं)
chmod +x copy-fail-exp-amd64
./copy-fail-exp-amd64
# C स्टैटिक बाइनरी
chmod +x copy-fail-exp-c-amd64
./copy-fail-exp-c-amd64
# या Python स्क्रिप्ट सीधे उपयोग करें
python3 check_vulnerable.py
📦 रिलीज़ हर
v*टैग पुश पर GitHub Actions के माध्यम से स्वचालित रूप से बनाए जाते हैं। Go और C बाइनरी linux/amd64 और linux/arm64 के लिए स्टैटिक बाइनरी के रूप में बनाई जाती हैं।
python3 poc/check_vulnerable.py
sudo bash poc/mitigate.sh
यह algif_aead कर्नेल मॉड्यूल को ब्लैकलिस्ट करता है — 99% सिस्टम के लिए कुछ भी नहीं तोड़ता।
# Debian/Ubuntu
sudo apt update && sudo apt upgrade linux-image-*
# RHEL/CentOS/Fedora
sudo dnf update kernel
# पैच किए गए कर्नेल में रीबूट करें
sudo reboot
python3 poc/check_vulnerable.py
# एग्जिट कोड 1 = सुरक्षित ✓
चेतावनी: केवल उन प्रणालियों पर चलाएं जिनके आप स्वामी हैं या जिनके परीक्षण के लिए आपके पास प्राधिकरण है।
| फ़ाइल | भाषा | आवश्यकताएँ | नोट्स |
|---|---|---|---|
copy_fail_exp.py | Python 3.10+ | केवल stdlib | आधिकारिक 732-बाइट PoC |
copy_fail_exp_compat.py | Python 3.6+ | stdlib + ctypes | CentOS 7, AL2 आदि पर काम करता है |
copy_fail_exp_alpine.py | Python 3.10+ | केवल stdlib | Alpine पर /bin/ping को लक्षित करता है |
copy_fail_exp.c | C | gcc + Linux हेडर | स्टैटिक बाइनरी, शून्य निर्भरता |
copy_fail_exp.go | Go 1.21+ | केवल stdlib | स्टैटिक बाइनरी, शून्य निर्भरता |
copy_fail_rust/ | Rust 1.70+ | libc + flate2 क्रेट्स | स्टैटिक बाइनरी |
# C
gcc -static -o exp ./poc/copy_fail_exp.c && ./exp
# Python
python3 poc/copy_fail_exp.py
python3 poc/copy_fail_exp_compat.py # Python < 3.10
# Go
go build -o exp ./poc/copy_fail_exp.go && ./exp
# Rust
cd poc/copy_fail_rust && cargo run --release
सभी संस्करण एक अलग SUID बाइनरी को लक्षित करने के लिए एक वैकल्पिक तर्क स्वीकार करते हैं:
python3 poc/copy_fail_exp.py /usr/bin/passwd
./exp /usr/bin/sudo
पूर्ण भेद्यता मूल्यांकन जिसमें शामिल है:
authencesn स्क्रैच राइट)लाइन-दर-लाइन PoC विश्लेषण जिसमें शामिल है:
AF_ALG सॉकेट प्रवाह, splice() पेज-कैश वितरण, sg_chain() यांत्रिकीauthencesn ESN स्क्रैच राइट जो स्कैटरलिस्ट सीमाओं को पार करता है/etc/passwd इंजेक्शन, साझा लाइब्रेरी लक्ष्यीकरण, कंटेनर एस्केप| पर्यावरण | जोखिम | क्यों |
|---|---|---|
| मल्टी-टेनेंट Linux होस्ट | 🔴 उच्च | कोई भी उपयोगकर्ता → रूट |
| Kubernetes / कंटेनर | 🔴 उच्च | साझा पेज कैश → कंटेनर एस्केप |
| CI रनर (सेल्फ-होस्टेड) | 🔴 उच्च | दुर्भावनापूर्ण PR → रनर रूट |
| क्लाउड SaaS (उपयोगकर्ता कोड) | 🔴 उच्च | टेनेंट → होस्ट रूट |
| मानक सर्वर | 🟡 मध्यम | वेब RCE / चोरी किए गए क्रेडेंशियल के साथ श्रृंखला |
| एकल-उपयोगकर्ता लैपटॉप | 🟢 निम्न | पहले से ही एकमात्र उपयोगकर्ता |
योगदान का स्वागत है:
कृपया एक issue या pull request खोलें।
MIT — जिम्मेदारी से उपयोग करें।