
🔐 CVE-2026-31431 (CopyFail) का संपूर्ण केस स्टडी — Linux कर्नेल में विशेषाधिकार वृद्धि की गंभीर भेद्यता। इसमें तकनीकी विश्लेषण, सत्यापन स्क्रिप्ट, हार्डनिंग और घटना प्रतिक्रिया प्लेबुक शामिल हैं। शैक्षिक उद्देश्यों के लिए।
पूर्ण केस स्टडी — यह कैसे खोजा गया, यह कैसे काम करता है, कैसे परीक्षण करें, कैसे दोहराएं (सुरक्षित वातावरण में) और उस गंभीर भेद्यता को कैसे ठीक करें जो 2017 से लगभग सभी Linux वितरणों को प्रभावित करती है।
यह रिपॉजिटरी पूर्णतः शैक्षणिक उद्देश्यों के लिए है। यहां मौजूद जानकारी सुरक्षा पेशेवरों, शोधकर्ताओं और साइबर सुरक्षा छात्रों के लिए है। बिना स्पष्ट अनुमति के किसी भी सिस्टम पर यहां वर्णित किसी भी तकनीक का उपयोग कभी न करें। इन सूचनाओं का दुरुपयोग कानून संख्या 12.737/2012 (कैरोलिना डाइकमैन कानून) और इंटरनेट के नागरिक ढांचे (कानून संख्या 12.965/2014) के तहत अपराध हो सकता है।
CopyFail भेद्यता सुरक्षा कंपनी Theori द्वारा Linux कर्नेल कोड के विश्लेषण के दौरान खोजी गई थी, विशेष रूप से मेमोरी स्पेस के बीच डेटा कॉपी करने के लिए जिम्मेदार सबसिस्टम में।
मार्च/2026 → Theori शोधकर्ताओं ने कर्नेल में असामान्य व्यवहार की पहचान की
मार्च/2026 → कर्नेल सुरक्षा टीम को जिम्मेदार प्रकटीकरण
~1 सप्ताह बाद → kernel.org पर अपस्ट्रीम पैच उपलब्ध
मई/2026 → शोषण कोड (PoC) सार्वजनिक रूप से जारी
01/05/2026 → Microsoft तकनीकी विश्लेषण प्रकाशित करता है
04/05/2026 → CISA KEV कैटलॉग में जोड़ता है (ज्ञात शोषित भेद्यताएं)
15/05/2026 → अमेरिकी संघीय एजेंसियों में सुधार की समय सीमा
Linux कर्नेल में आंतरिक रूटीन हैं जो मेमोरी के विभिन्न क्षेत्रों (userspace ↔ kernelspace) के बीच डेटा कॉपी करने के लिए जिम्मेदार हैं। इस दोष को CopyFail नाम दिया गया है क्योंकि प्रभावित घटक कुछ डेटा कॉपी करना बंद कर देता है जब उसे करना चाहिए। यह कर्नेल के भीतर संवेदनशील डेटा संरचनाओं को दूषित करता है, जिससे विशेषाधिकार वृद्धि के लिए शोषण की खिड़की खुल जाती है।
Linux कर्नेल मेमोरी को दो अलग-अलग स्थानों में प्रबंधित करता है:
┌─────────────────────────────────────┐
│ USERSPACE │
│ हमलावर की प्रक्रिया (uid=1000) │
│ → दुर्भावनापूर्ण syscall कॉल करता है │
└────────────────┬────────────────────┘
│ syscall
▼
┌─────────────────────────────────────┐
│ KERNELSPACE │
│ डेटा कॉपी रूटीन │
│ → BUG: मेटाडेटा कॉपी करने में विफलता │
│ → नियंत्रण संरचना को दूषित करता है │
│ → हमलावर पॉइंटर में हेरफेर करता है │
│ → root के रूप में कोड निष्पादित करता है │
└─────────────────────────────────────┘
uid=0 (root) के साथ चलने लगती है, जिससे सिस्टम पर पूर्ण नियंत्रण मिल जाता है// कमजोर संस्करण (सरलीकृत, शैक्षणिक)
int kernel_copy_data(struct user_request *req) {
struct kernel_buffer kbuf;
// BUG: केवल डेटा का हिस्सा कॉपी करता है, महत्वपूर्ण फ़ील्ड को अनदेखा करता है
// सुरक्षा फ़ील्ड (security_context) कॉपी नहीं होते!
memcpy(&kbuf.data, req->data, req->size);
// → kbuf.security_context अप्रारंभित रहता है (मेमोरी कचरा)
process_buffer(&kbuf); // दूषित डेटा का उपयोग करता है
return 0;
}
// सही किया गया संस्करण
int kernel_copy_data(struct user_request *req) {
struct kernel_buffer kbuf;
// FIX: सुरक्षा फ़ील्ड सहित पूरा struct कॉपी करता है
if (copy_from_user(&kbuf, req, sizeof(struct kernel_buffer)))
return -EFAULT;
process_buffer(&kbuf);
return 0;
}
⚠️ 2017 से जारी कर्नेल ≤ 7.0 चलाने वाला कोई भी Linux वितरण संभावित रूप से कमजोर है।
साझा सर्वर (जैसे: होस्टिंग वातावरण, VPS) पर बिना विशेषाधिकार वाला उपयोगकर्ता एक्सप्लॉइट चलाता है और root प्राप्त करता है।
इंटरनेट → [वेब भेद्यता के माध्यम से RCE] → सीमित शेल → [CopyFail] → root
Microsoft के विश्लेषण के अनुसार: इस दोष को इंटरनेट से दिए गए एक्सप्लॉइट (जैसे: वेब एप्लिकेशन में RCE) के साथ जोड़ा जा सकता है, जिसके परिणामस्वरूप सर्वर से पूर्ण समझौता होता है।
Linux उपयोगकर्ता को दुर्भावनापूर्ण लिंक या अटैचमेंट खोलने के लिए धोखा दिया जाता है जो स्थानीय रूप से एक्सप्लॉइट को सक्रिय करता है।
दुर्भावनापूर्ण अभिनेता ओपन सोर्स डेवलपर खाते से समझौता करता है और व्यापक रूप से वितरित कोड में एक्सप्लॉइट इंजेक्ट करता है।
समझौता किया गया क्लाउड सर्वर उसी बुनियादी ढांचे पर सभी VMs, कंटेनर, एप्लिकेशन और ग्राहक डेटाबेस को उजागर कर सकता है।
⚠️ केवल नियंत्रित और पृथक वातावरण में — बाहरी नेटवर्क पहुंच के बिना VM!
# आवश्यक उपकरण
sudo apt install -y git build-essential libssl-dev bc flex bison
# वर्तमान कर्नेल संस्करण जांचें
uname -r
# जांचें कि क्या यह कमजोर सीमा में है (≤ 7.0)
# कमजोर आउटपुट का उदाहरण: 6.8.0-51-generic
# 1. पृथक VM बनाएं (अनुशंसित: VirtualBox या QEMU)
# Ubuntu 24.04 या Debian Bookworm की ISO का उपयोग करें
# 2. पुष्टि करें कि VM की प्रोडक्शन इंटरनेट तक पहुंच नहीं है
# (होस्ट-ओनली या पृथक NAT नेटवर्क का उपयोग करें)
# 3. हमलावर का अनुकरण करने के लिए बिना विशेषाधिकार वाला उपयोगकर्ता बनाएं
sudo adduser testuser
su - testuser
# 4. सत्यापित करें कि testuser के पास sudo नहीं है
sudo whoami # वापस आना चाहिए: "testuser is not in the sudoers file"
# सत्यापन स्क्रिप्ट (शोषण नहीं करती, केवल जांचती है)
#!/bin/bash
KERNEL_VERSION=$(uname -r | cut -d. -f1,2)
MAJOR=$(echo $KERNEL_VERSION | cut -d. -f1)
MINOR=$(echo $KERNEL_VERSION | cut -d. -f2)
echo "[*] पता चला कर्नेल: $(uname -r)"
if [ "$MAJOR" -lt 7 ] || ([ "$MAJOR" -eq 7 ] && [ "$MINOR" -eq 0 ]); then
echo "[!] CVE-2026-31431 (CopyFail) के लिए संभावित रूप से कमजोर"
echo "[!] जांचें कि क्या आपके वितरण विक्रेता ने पैच लागू किया है"
else
echo "[+] कर्नेल संस्करण प्रभावित सीमा से बाहर है"
fi
# जांचें कि क्या पैच लागू किया गया है (पैकेज चेंजलॉग के माध्यम से)
apt changelog linux-image-$(uname -r) 2>/dev/null | grep -i "CVE-2026-31431" && \
echo "[+] चेंजलॉग में CVE-2026-31431 पैच मिला" || \
echo "[?] चेंजलॉग में पैच का पता नहीं चला — मैन्युअल रूप से जांचें"
🔒 यह अनुभाग कड़ाई से शैक्षणिक है। नीचे दिया गया कोड हमले के वेक्टर का सरलीकृत शैक्षणिक प्रतिनिधित्व है — यह वास्तविक एक्सप्लॉइट नहीं है (जो नैतिक कारणों से यहां प्रकट नहीं किया गया है)।
#!/usr/bin/env python3
"""
CVE-2026-31431 (CopyFail) — शैक्षणिक प्रतिनिधित्व
उद्देश्य: आक्रामक/रक्षात्मक सुरक्षा में शिक्षा
बिना अनुमति के सिस्टम पर उपयोग न करें
"""
import ctypes
import os
import sys
def check_environment():
"""जांचें कि क्या हम लैब वातावरण में हैं"""
kernel = os.uname().release
print(f"[*] कर्नेल: {kernel}")
print(f"[*] वर्तमान UID: {os.getuid()}")
if os.getuid() == 0:
print("[-] हम पहले से root हैं। एक्सप्लॉइट आवश्यक नहीं है।")
sys.exit(0)
def demonstrate_concept():
"""
हमले के वेक्टर का अवधारणात्मक प्रदर्शन:
1. कमजोर syscall की पहचान करें
2. अधूरी कॉपी को सक्रिय करने वाला पेलोड बनाएं
3. मेमोरी भ्रष्टाचार की निगरानी करें
4. विशेषाधिकार बढ़ाने के लिए प्रवाह को पुनर्निर्देशित करें
वास्तविक एक्सप्लॉइट में:
- हमलावर हीप स्प्रे या ROP चेन जैसी तकनीकों का उपयोग करता है
- भ्रष्टाचार और दूषित डेटा के उपयोग के बीच की खिड़की का दुरुपयोग करता है
- प्रक्रिया क्रेडेंशियल ओवरराइट करता है (uid → 0)
"""
print("[*] अवधारणा: दोषपूर्ण कॉपी रूटीन का ट्रिगर")
print("[*] अवधारणा: kernel_buffer struct के भ्रष्टाचार की निगरानी")
print("[*] अवधारणा: निष्पादन प्रवाह का पुनर्निर्देशन")
print("[*] देखें: https://xint.io/blog/copy-fail-linux-distributions")
def main():
check_environment()
demonstrate_concept()
print("\n[i] पूर्ण तकनीकी विश्लेषण के लिए, देखें:")
print(" → https://xint.io/blog/copy-fail-linux-distributions")
print(" → https://www.microsoft.com/en-us/security/blog/2026/05/01/cve-2026-31431-copy-fail-vulnerability-enables-linux-root-privilege-escalation/")
if __name__ == "__main__":
main()
# अलग टर्मिनल में, कर्नेल लॉग की निगरानी करें
sudo dmesg -w | grep -E "(oops|panic|null pointer|exploit|cve)"
# सिस्टम कॉल की निगरानी करें
sudo strace -e trace=all -p <PID_DO_PROCESSO>
# वास्तविक समय में UID परिवर्तन जांचें
watch -n 0.5 'cat /proc/self/status | grep -E "^(Uid|Gid)"'
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y linux-image-generic
sudo reboot
# रिबूट के बाद संस्करण जांचें
uname -r
# Red Hat / CentOS / Amazon Linux
sudo dnf update -y kernel
sudo reboot
# SUSE
sudo zypper update -t package kernel-default
sudo reboot
# स्थापित कर्नेल का चेंजलॉग जांचें
apt changelog linux-image-$(uname -r) | grep CVE-2026-31431
# Ubuntu CVE ट्रैकर के माध्यम से
# https://ubuntu.com/security/CVE-2026-31431
# Red Hat CVE डेटाबेस के माध्यम से
# https://access.redhat.com/security/cve/CVE-2026-31431
# SUID बाइनरी निष्पादन सीमित करें (हमले की सतह कम करता है)
find / -perm -4000 -type f 2>/dev/null
# संदिग्ध syscalls की ऑडिटिंग सक्षम करें
sudo auditctl -a always,exit -F arch=b64 -S all -k syscall_audit
# विशेषाधिकार वृद्धि प्रयासों की निगरानी करें
sudo apt install -y auditd
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
sudo auditctl -w /etc/sudoers -p wa -k sudoers_changes
# कर्नेल सुरक्षा सक्रिय करें
# /etc/sysctl.conf — जोड़ें:
kernel.dmesg_restrict = 1
kernel.kptr_restrict = 2
kernel.perf_event_paranoid = 3
kernel.unprivileged_bpf_disabled = 1
net.core.bpf_jit_harden = 2
# लागू करें
sudo sysctl -p
# संभावित शोषण के संकेत:
# 1. सामान्य उपयोगकर्ता की प्रक्रियाएं root के रूप में चल रही हैं
ps aux | awk '$1 != "root" && $2 == "0"'
# 2. हाल ही में बनाए गए नए SUID बाइनरी
find / -perm -4000 -newer /etc/passwd -type f 2>/dev/null
# 3. /etc/passwd में संदिग्ध प्रविष्टियां
grep "uid=0" /etc/passwd
# 4. भ्रष्टाचार संदेशों के साथ कर्नेल लॉग
dmesg | grep -iE "(oops|BUG:|corruption|cve)"
# 5. अनधिकृत नेटवर्क कनेक्शन
ss -tulnp | grep LISTEN
पैच प्रबंधन महत्वपूर्ण है — अपस्ट्रीम पैच ~1 सप्ताह में उपलब्ध था, लेकिन वितरणों को वितरित करने में अधिक समय लगता है। अपने विक्रेताओं की सक्रिय रूप से निगरानी करें।
गहराई में रक्षा — अकेले LPE पर्याप्त नहीं है; हमलावर को प्रारंभिक पहुंच की आवश्यकता होती है। नियंत्रित करें कि सिस्टम तक किसकी पहुंच है।
भेद्यताओं की श्रृंखलाबद्धता — पृथक "कम जोखिम" CVEs संयुक्त होने पर गंभीर हो सकते हैं। केवल पृथक CVSS से नहीं, बल्कि संदर्भ में जोखिम का आकलन करें।
सप्लाई चेन एक वास्तविक वेक्टर है — व्यापक रूप से उपयोग किया जाने वाला ओपन सोर्स कोड हमले का वेक्टर हो सकता है। पैकेज अखंडता सत्यापन लागू करें।
Kubernetes और कंटेनर प्रतिरक्षित नहीं हैं — यदि होस्ट कर्नेल कमजोर है, तो उस पर चलने वाले कंटेनर भी प्रभावित होते हैं।
हमेशा पूर्ण structs कॉपी करें — यह सुनिश्चित किए बिना कर्नेल नियंत्रण structs के व्यक्तिगत फ़ील्ड कभी कॉपी न करें कि सभी महत्वपूर्ण फ़ील्ड प्रारंभ किए गए हैं।
copy_from_user() का सही उपयोग करें — कर्नेल कॉपी फ़ंक्शन की विशिष्ट शब्दार्थ होती है। उपयोग से पहले दस्तावेज़ पढ़ें।
सुरक्षा कोड समीक्षा — कर्नेल परिवर्तनों को केवल कार्यक्षमता नहीं, बल्कि सुरक्षा-केंद्रित समीक्षा की आवश्यकता होती है।
कर्नेल अपडेट प्राथमिकता हैं — ये केवल "नियमित रखरखाव" नहीं हैं। कर्नेल भेद्यताएं अक्सर गंभीर होती हैं।
एसेट इन्वेंट्री मौलिक है — आप उसे ठीक नहीं कर सकते जिसके बारे में आप नहीं जानते। Linux सिस्टम और उनके कर्नेल संस्करणों की अद्यतन इन्वेंट्री बनाए रखें।
घटना प्रतिक्रिया योजना — आक्रामक समय सीमा (जैसे CISA KEV) वाली गंभीर भेद्यताओं के लिए तैयार प्लेबुक रखें।
कुछ पुराना मिला या परीक्षण परिदृश्य जोड़ना चाहते हैं? एक issue या PR खोलें!
कृपया आचार संहिता का सम्मान करें: यह रिपॉजिटरी शिक्षा और रक्षा के लिए है — दुर्भावनापूर्ण गतिविधियों के लिए नहीं।
MIT लाइसेंस — सिस्टम सीखने, सिखाने और बचाव के लिए उपयोग करें। हमला करने के लिए कभी नहीं।
"हमले को जानना रक्षा बनाने की पहली सीढ़ी है।"
⭐ यदि यह केस स्टडी उपयोगी थी, तो रिपॉजिटरी को एक स्टार दें!
| फ़ील्ड | विवरण |
|---|
| CVE ID | CVE-2026-31431 |
| उपनाम | CopyFail |
| प्रकार | स्थानीय विशेषाधिकार वृद्धि (LPE) — विशेषाधिकार वृद्धि |
| CVSS स्कोर | 8.8 (उच्च) / श्रृंखला में संभावित रूप से गंभीर |
| घटक | Linux कर्नेल — डेटा कॉपी तंत्र |
| संस्करण | Linux कर्नेल ≤ 7.0 (2017 से वितरण) |
| द्वारा खोजा गया | Theori (सुरक्षा कंपनी) |
| घोषित | मार्च 2026 |
| अपस्ट्रीम पैच | जिम्मेदार प्रकटीकरण के ~1 सप्ताह बाद उपलब्ध |
| CISA स्थिति | सक्रिय रूप से शोषित के रूप में सूचीबद्ध — KEV कैटलॉग |
| CISA समय सीमा | संघीय एजेंसियों को 15/05/2026 तक ठीक करना होगा |
| वितरण | संस्करण | स्थिति |
|---|
| Red Hat Enterprise Linux | 10.1 | ✅ कमजोर |
| Ubuntu LTS | 24.04 | ✅ कमजोर |
| Amazon Linux | 2023 | ✅ कमजोर |
| SUSE Linux | 16 | ✅ कमजोर |
| Debian | हालिया स्थिर | ✅ कमजोर |
| Fedora | हालिया | ✅ कमजोर |
| Kubernetes (नोड्स) | कर्नेल ≤7.0 पर सभी | ✅ कमजोर |