Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-31431-CopyFail-Linux-PrivEsc — CVE-2026-31431 का एक डेमो और स्पष्टीकरण | Kitploit
उपकरण/GitHubGitHub/john-popovici/cve-2026-31431-copyfail-linux-privesc
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणलर्निंग और शिक्षाबाइनरी शोषण
GitHubjohn-popovici/cve-2026-31431-copyfail-linux-privesc

CVE-2026-31431-CopyFail-Linux-PrivEsc

CVE-2026-31431 का एक डेमो और स्पष्टीकरण

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
13 महीने पहलेअभी तक समीक्षित नहीं

CVE-2026-31431 CopyFail Linux स्थानीय विशेषाधिकार वृद्धि

CVE-2026-31431, Linux कर्नेल Copy Fail स्थानीय विशेषाधिकार वृद्धि भेद्यता का प्रदर्शन और स्पष्टीकरण। यह भेद्यता पढ़ने की अनुमति से खोली गई फ़ाइलों में पेज कैश में डेटा को अधिलेखित करने की अनुमति देती है।

यह रिपॉजिटरी केवल शैक्षिक उद्देश्यों के लिए है और नियंत्रित वातावरण में भेद्यता को दर्शाती है। शामिल फ़ाइलें इस प्रकार हैं:

root@kitploit:~
├── exploit
│   ├── copy_fail.py            # कस्टम एक्सप्लॉइट जो पढ़ने की अनुमति वाली किसी भी फ़ाइल को लक्षित कर सकता है
│   ├── original_payload.txt    # मूल एक्सप्लॉइट में उपयोग किए गए पेलोड की एक प्रति
│   ├── copy_fail_original.py   # मूल एक्सप्लॉइट जो /usr/bin/su को अधिलेखित करता है
│   └── copy_fail_readable.py   # पेलोड के स्पष्टीकरण के साथ अधिक पठनीय प्रारूप में मूल एक्सप्लॉइट
├── README.md
└── Vagrantfile                 # Ubuntu 22.04 चलाने वाले Vagrant VM के लिए सेटअप

परिचय

Copy Fail नामक यह भेद्यता, algif_aead में एक तर्क दोष के कारण 2017 से 2026 तक Linux कर्नेल में मौजूद है। इसे CVE-2026-31431 निर्दिष्ट किया गया है और CVSS स्कोर 7.8 है, जो उच्च गंभीरता रेटिंग की ओर ले जाता है। यह शोषण नियतात्मक है और पारंपरिक फ़ाइल अखंडता निगरानी उपकरणों को बायपास कर सकता है।

प्रूफ ऑफ कॉन्सेप्ट विभिन्न भाषाओं में प्रकाशित किए गए हैं, जिनमें C, Python और Go शामिल हैं, लेकिन इस प्रदर्शन के लिए Python का उपयोग किया जाता है और इसके लिए Python संस्करण 3.10 या उच्चतर की आवश्यकता है। इस शोषण के लिए एक अविशेषाधिकार प्राप्त उपयोगकर्ता के रूप में स्थानीय कोड निष्पादन की आवश्यकता होती है और इसका उपयोग स्थानीय विशेषाधिकार वृद्धि के लिए किया जा सकता है।

नीचे दिए गए अनुभाग हैं:

  • शोषण: शोषण का प्रदर्शन और इसे रूट विशेषाधिकार प्राप्त करने के लिए कैसे उपयोग किया जा सकता है।
  • शोषण का पता लगाने पर नोट: एक स्पष्टीकरण कि यह शोषण पारंपरिक फ़ाइल अखंडता निगरानी उपकरणों के साथ पता लगाना क्यों मुश्किल है।
  • भेद्यता: उस कमिट का लिंक जिसने भेद्यता शुरू की और समस्या का स्पष्टीकरण।
  • पैच: उस कमिट का लिंक जिसने भेद्यता को पैच किया और फिक्स का स्पष्टीकरण।
  • अतिरिक्त संसाधन: आगे पढ़ने और विभिन्न भाषाओं में शोषण के कार्यान्वयन के लिए संसाधनों की सूची

शोषण

सेटअप

सुनिश्चित करें कि आपके पास Vagrant और QEMU इंस्टॉल हैं। फिर, इस रिपॉजिटरी को क्लोन करें और प्रोजेक्ट निर्देशिका पर जाएं।

root@kitploit:~
vagrant up
vagrant ssh

VM के अंदर, हम अपनी क्षमताओं की सीमाओं का परीक्षण कर सकते हैं।

root@kitploit:~
id # uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant)
su # हमसे रूट पासवर्ड मांगा जाता है, जो हमारे पास नहीं है

stat /usr/bin/su # हमारे पास पढ़ने और निष्पादित करने की अनुमति है
stat /etc/passwd # हमारे पास पढ़ने की अनुमति है
stat /etc/shadow # हमारे पास कोई अनुमति नहीं है

हम स्पष्ट रूप से अपनी क्षमताओं में सीमित हैं, लेकिन हम विशेषाधिकार बढ़ाने के लिए भेद्यता का उपयोग कर सकते हैं।

शोषण डेमो 1: शोषण को समझना

भेद्यता को समझने के लिए, आइए एक डमी फ़ाइल को अधिलेखित करें और देखें कि क्या होता है।

root@kitploit:~
echo -e "ABCDE\nF\nG" > dummy.txt
cat dummy.txt

हमारे पास तीन पंक्तियों वाली एक फ़ाइल है। पहली पंक्ति 6 बाइट्स (न्यूलाइन सहित) है, दूसरी पंक्ति 2 बाइट्स है, और तीसरी पंक्ति एक एकल बाइट है। यह महत्वपूर्ण है क्योंकि शोषण 4 बाइट्स के ब्लॉक में डेटा को अधिलेखित करता है, और हम पेलोड को भरने के लिए पैड करते हैं।

root@kitploit:~
python3 exploit/copy_fail.py --target dummy.txt --payload "123456"
cat dummy.txt

हम देख सकते हैं कि हमने फ़ाइल के पहले 8 बाइट्स को अपने पेलोड से बदल दिया है। दो ऐसे वर्ण हैं जो मौजूद हैं लेकिन मुद्रण योग्य नहीं हैं। जांचने के लिए फ़ाइल को nano में खोलें। लेकिन यह बहुत रोमांचक नहीं है, तो चलिए उन फ़ाइलों में लिखने की ओर बढ़ते हैं जिनके लिए हमारे पास लिखने की अनुमति नहीं है।

शोषण डेमो 2: रूट पासवर्ड हटाना

हम रूट विशेषाधिकार वाले लेकिन बिना पासवर्ड वाले उपयोगकर्ता को जोड़ने के लिए /etc/passwd की सामग्री को अधिलेखित कर सकते हैं।

root@kitploit:~
cat /etc/passwd

पहली पंक्ति में रूट उपयोगकर्ता है और इसमें 4 वर्णों के 8 समूह हैं (न्यूलाइन सहित)। इसे इस प्रकार स्वरूपित किया गया है root:x:0:0:root:/root:/bin/bash, और मान उपयोगकर्ता नाम, पासवर्ड, UID, GID, होम निर्देशिका, शेल को संदर्भित करते हैं।

root@kitploit:~
python3 exploit/copy_fail.py --target /etc/passwd --payload "hackd::0:0:root:/root:/bin/bash
"
cat /etc/passwd

हमने UID 0 और GID 0 के साथ एक नया उपयोगकर्ता hackd जोड़ा है, जिसका अर्थ है कि इसके पास रूट विशेषाधिकार हैं। पासवर्ड फ़ील्ड खाली है, इसलिए हम बिना पासवर्ड के लॉग इन कर सकते हैं।

root@kitploit:~
su hackd
id
cat /etc/shadow

शोषण डेमो 3: एक निष्पादन योग्य को अधिलेखित करना

मूल शोषण में, बाइनरी /usr/bin/su को शेल निष्पादित करने के निर्देशों के साथ अधिलेखित किया जाता है, जिससे हमलावर को su निष्पादित करने पर रूट विशेषाधिकार प्राप्त करने की अनुमति मिलती है। हम एक फ़ाइल से मूल पेलोड के साथ /usr/bin/su को लक्षित करके इस शोषण को फिर से बना सकते हैं। ध्यान दें कि यह इस पेज कैश में su बाइनरी को नष्ट कर देता है।

root@kitploit:~
python3 exploit/copy_fail.py --target /usr/bin/su --payload-file exploit/original_payload.txt

पेलोड स्थापित होने के बाद, हम su निष्पादित कर सकते हैं और रूट विशेषाधिकार प्राप्त कर सकते हैं। यह उपयोगकर्ता आईडी 0 के साथ एक शेल खोलता है, जो आमतौर पर रूट उपयोगकर्ता होता है, लेकिन यदि उपरोक्त डेमो किया गया था, तो यह हमारे द्वारा बनाया गया hackd उपयोगकर्ता होगा। यह शोषण तब भी एक शेल खोलेगा जब root उपयोगकर्ता के पास पासवर्ड हो।

root@kitploit:~
su
id

शोषण का पता लगाने पर नोट

यह शोषण डिस्क पर फ़ाइल को संशोधित नहीं करता, बल्कि पेज-कैश स्थिति को संशोधित करता है। परिणामस्वरूप, पारंपरिक फ़ाइल अखंडता निगरानी उपकरण जो डिस्क पर फ़ाइलों में परिवर्तनों की जांच करते हैं, इस शोषण का पता नहीं लगाते।

इसे प्रदर्शित करने के लिए, उपरोक्त शोषण(शोषणों) को चलाएं और फिर VM के पुनरारंभ के बाद, लक्ष्य फ़ाइल की सामग्री की जांच करें।

root@kitploit:~
vagrant halt
vagrant up
vagrant ssh
cat /etc/passwd # फ़ाइल डिस्क पर अपरिवर्तित है

भेद्यता

शोषण में निम्नलिखित घटकों का उपयोग किया जाता है:

  1. splice
    • बिना कॉपी किए फ़ाइल डिस्क्रिप्टर के बीच डेटा पास करता है
    • एक spliced संदेश को संशोधित करने से पेज कैश भी संशोधित होता है
  2. recvmsg
    • पाइप की गई जानकारी प्राप्त करता है और क्रिप्टोग्राफिक ऑपरेशन के लिए डेटा को बफर में ले जाता है
    • इनपुट AD और CT कॉपी किए जाते हैं, TAG संदर्भ के अनुसार पास किया जाता है AD||CT||TAG
  3. authensc
    • एक धारणा है कि केवल AD और CT संशोधित होते हैं, लेकिन authensc इसे तोड़ता है
    • AD को seqno_hi और seqno_lo में विभाजित किया जाता है और authensc TAG के बाद कॉपी करके उनके क्रम को इन-प्लेस स्विच करता है
    • seqno_hi||seqno_lo||CT||TAG -> seqno_lo||seqno_hi||CT||TAG||seqno_lo
    • यह अनुक्रम संदर्भ स्थान पर कॉपी हो जाता है

वह कमिट जिसने इन-प्लेस ऑप्टिमाइज़ेशन को सक्षम किया जिसने यह भेद्यता पैदा की:

https://github.com/torvalds/linux/commit/72548b093ee38a6d4f2a19e6ef1948ae05c181f7

पैच

पैच बिना किसी सार्वजनिक घोषणा के बनाया गया था और algif_aead में इन-प्लेस ऑपरेशन की कार्यक्षमता को हटा देता है:

https://github.com/torvalds/linux/commit/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5

अतिरिक्त संसाधन

और पढ़ें:

  • https://copy.fail/
  • https://nvd.nist.gov/vuln/detail/CVE-2026-31431
  • https://xint.io/blog/copy-fail-linux-distributions
  • https://www.bugcrowd.com/blog/what-we-know-about-copy-fail-cve-2026-31431/

Python कार्यान्वयन

  • https://github.com/theori-io/copy-fail-CVE-2026-31431
  • https://github.com/Astro-Johnny/copy-fail-CVE-2026-31431
  • https://github.com/cryptopepy/copy-fail-CVE-2026-31431

C कार्यान्वयन

  • https://github.com/tgies/copy-fail-c
  • https://github.com/pyroceper/copy-fail-CVE-2026-31431
  • https://github.com/huberteff/copy-fail-CVE-2026-31431

Go कार्यान्वयन

  • https://github.com/badsectorlabs/copyfail-go
  • https://github.com/3jee/copy-fail-go
टूल डाउनलोड करें