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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-31431-Copy-Fail — CVE-2026-31431 का व्यापक विश्लेषण, एक Linux कर्नेल LPE, जिसमें exploit methodology, detection scripts, YARA rules, auditd और Falco configurations, तथा remediation guidance शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/rippsec/cve-2026-31431-copy-fail
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणलर्निंग और शिक्षारेड टीमिंगघटना प्रतिक्रिया
GitHubrippsec/cve-2026-31431-copy-fail

CVE-2026-31431-Copy-Fail

CVE-2026-31431 का व्यापक विश्लेषण, एक Linux कर्नेल LPE, जिसमें exploit methodology, detection scripts, YARA rules, auditd और Falco configurations, तथा remediation guidance शामिल हैं।

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

सभी देखें →

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

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

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

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

CVE-2026-31431 — "कॉपी फेल": लिनक्स कर्नेल algif_aead स्थानीय विशेषाधिकार वृद्धि

CISA KEV | CVSS 7.8 उच्च | लिनक्स कर्नेल 4.14 – 2026 की शुरुआत (~9 वर्ष) को प्रभावित करता है


विषय-सूची

  1. कार्यकारी सारांश
  2. जोखिम मूल्यांकन
  3. तकनीकी गहन विश्लेषण
  4. हमला पद्धति — रेड टीम
  5. पहचान और घटना प्रतिक्रिया — ब्लू टीम
  6. पैचिंग और उपचार
  7. प्रयोगशाला वातावरण
  8. संदर्भ

1. कार्यकारी सारांश

CVE-2026-31431, जिसे "कॉपी फेल" नाम दिया गया है, लिनक्स कर्नेल के क्रिप्टोग्राफिक सबसिस्टम में एक उच्च-गंभीरता वाली स्थानीय विशेषाधिकार वृद्धि (LPE) भेद्यता है। कोई भी निम्न-विशेषाधिकार वाला स्थानीय उपयोगकर्ता किसी भी अप्रबंधित सिस्टम पर सेकंडों में रूट तक पहुंच सकता है।

विशेषतामान
CVECVE-2026-31431
उपनामकॉपी फेल
CVSS v3.17.8 उच्च
हमला वेक्टरस्थानीय
आवश्यक विशेषाधिकारनिम्न
उपयोगकर्ता सहभागिताकोई नहीं
घटकcrypto/algif_aead.c — authencesn टेम्पलेट
प्रस्तुत2017 (कमिट 72548b093ee3)
खुलासा2026
वर्षों तक गुप्त~9 वर्ष
CISA KEVहाँ
सार्वजनिक PoCहाँ (732-बाइट स्टैंडअलोन पायथन स्क्रिप्ट)

व्यावसायिक प्रभाव

  • किसी भी अप्रबंधित लिनक्स सर्वर, VM, क्लाउड इंस्टेंस, या कंटेनर होस्ट पर रूट एक्सेस
  • कुबरनेट्स पॉड्स से कंटेनर एस्केप — पेज कैश होस्ट कर्नेल के साथ साझा होता है
  • डिस्क पर शून्य पदचिह्न — शोषण से कोई फ़ाइल परिवर्तन, कोई गंदे पेज, कोई मानक फ़ाइल अखंडता उपकरण (Tripwire, AIDE) के माध्यम से ऑडिट ट्रेल नहीं बनता
  • Red Hat, Ubuntu, Debian, SUSE, Amazon Linux, और 2017 से आगे के कर्नेल चलाने वाले लगभग सभी प्रमुख वितरणों को प्रभावित करता है

अनुशंसित तत्काल कार्रवाई

  1. अस्थायी शमन (अभी तैनात करें, यदि मॉड्यूल लोड नहीं है तो रीबूट की आवश्यकता नहीं): ```bash echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf sudo rmmod algif_aead 2>/dev/null || true
    root@kitploit:~
  2. स्थायी समाधान: अपने वितरण के पैकेज मैनेजर के माध्यम से कर्नेल पैकेज अपडेट करें और रीबूट करें।
  3. सत्यापन: उपचार से पहले और बाद में detection/check_vulnerable.sh चलाएँ।

2. जोखिम मूल्यांकन

CVSS 3.1 वेक्टर स्ट्रिंग```

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

root@kitploit:~
| मीट्रिक | मान | तर्क |
|--------|-------|-----------|
| आक्रमण वेक्टर | **स्थानीय** | शेल एक्सेस की आवश्यकता (SSH, कंटेनर exec, भौतिक) |
| आक्रमण जटिलता | **कम** | विश्वसनीय, पूर्णतः स्वचालित — कोई रेस कंडीशन आवश्यक नहीं |
| आवश्यक विशेषाधिकार | **कम** | कोई भी गैर-विशेषाधिकार प्राप्त उपयोगकर्ता खाता |
| उपयोगकर्ता सहभागिता | **कोई नहीं** | कोई पीड़ित सहभागिता आवश्यक नहीं |
| गोपनीयता | **उच्च** | पूर्ण सिस्टम समझौता |
| अखंडता | **उच्च** | पूर्ण सिस्टम समझौता |
| उपलब्धता | **उच्च** | पूर्ण सिस्टम समझौता |

### खतरा परिदृश्य

| कारक | आकलन |
|--------|-----------|
| PoC उपलब्धता | सार्वजनिक, हथियारबद्ध, 732-बाइट स्टैंडअलोन Python |
| एक्सप्लॉइट विश्वसनीयता | उच्च — बिना संशोधन के परीक्षण किए गए डिस्ट्रोस पर काम करता है |
| पहचान कठिनाई | उच्च — कोई डिस्क राइट नहीं, कोई डर्टी पेज नहीं |
| आवश्यक हमलावर कौशल | कम — सार्वजनिक PoC वाला स्क्रिप्ट किडी |
| CISA KEV | 2026 में जोड़ा गया — सक्रिय रूप से निगरानी में |
| Microsoft Defender | सक्रिय जांच के अधीन चिह्नित |

### प्रभावित वातावरण

| वातावरण | जोखिम |
|-------------|------|
| बेयर-मेटल Linux सर्वर | गंभीर |
| Linux VMs (क्लाउड या ऑन-प्रिमाइसेस) | गंभीर |
| Kubernetes नोड्स | गंभीर (कंटेनर एस्केप भी सक्षम करता है) |
| Docker होस्ट | गंभीर |
| साझा होस्टिंग / मल्टी-टेनेंट | गंभीर |
| WSL2 / Windows पर Linux | कर्नेल संस्करण के अनुसार आकलन करें |

---

## 3. तकनीकी गहन विश्लेषण

### 3.1 पृष्ठभूमि: AF_ALG और AEAD

Linux कर्नेल **AF_ALG सॉकेट्स** (`AF_ALG = 38`) के माध्यम से क्रिप्टोग्राफिक ऑपरेशन्स को यूज़रस्पेस में उजागर करता है। यह इंटरफ़ेस (`algif_aead`) गैर-विशेषाधिकार प्राप्त अनुप्रयोगों को कर्नेल-मोड कोड की आवश्यकता के बिना कर्नेल क्रिप्टो हार्डवेयर एक्सेलेरेटर को आमंत्रित करने की अनुमति देता है।

**AEAD** (एसोसिएटेड डेटा के साथ प्रमाणित एन्क्रिप्शन) एल्गोरिदम जैसे AES-GCM और ChaCha20-Poly1305 व्यापक रूप से TLS, डिस्क एन्क्रिप्शन और VPN प्रोटोकॉल के लिए उपयोग किए जाते हैं। कमजोर टेम्पलेट `authencesn` है — एक AEAD संरचना जो `hmac(sha256)` + `cbc(aes)` का उपयोग करती है, जिसमें विस्तारित अनुक्रम संख्या (ESN) समर्थन होता है, जो आमतौर पर IPsec में उपयोग किया जाता है।

### 3.2 मूल कारण

2017 में, कमिट `72548b093ee3` ने प्रदर्शन अनुकूलन के रूप में `algif_aead` में **इन-प्लेस AEAD ऑपरेशन** पेश किया — जिससे क्रिप्टो इंजन को एक ही बफर को पढ़ने और लिखने की अनुमति मिली। यह त्रुटिपूर्ण था:```
The bug chain:

1. Caller binds AF_ALG socket to:
      authencesn(hmac(sha256),cbc(aes))

2. Caller sends a decryption request via sendmsg() with specific flags

3. Caller uses splice() to feed PAGE CACHE PAGES from an open file
   descriptor directly into the socket's scatterlist

4. The authencesn template, during ESN header processing, uses the
   OUTPUT BUFFER as scratch space — writing 4 bytes past the
   expected output boundary

5. Because the scatterlist contains page cache pages (not private
   copies), this scratch write lands DIRECTLY IN THE PAGE CACHE

6. Page cache is shared kernel-wide — all processes reading the
   same file now see the modified bytes

Key insight: splice() is zero-copy — it hands page cache references
to the socket. The in-place "optimization" then writes INTO those
pages. No dirty bit is set because the write goes through the crypto
engine, not the normal write path.

3.3 राइट प्रिमिटिव

यह भेद्यता उस किसी भी फ़ाइल के पेज कैश में एक नियंत्रित 4-बाइट राइट प्रदान करती है जिसे हमलावर पढ़ने के लिए खोल सकता है:

राइट दोहराने योग्य है — एक्सप्लॉइट बड़े कोड अनुक्रमों को पैच करने के लिए 4-बाइट राइट को लूप करता है।

3.4 एक्सप्लॉइटेशन श्रृंखला```

[1] Open /usr/bin/su (or any setuid-root binary) for reading ↓ [2] Map a copy to find target instruction bytes (e.g., UID check, execve path, security gate) ↓ [3] Compute exact page cache offset of target bytes ↓ [4] Set up AF_ALG socket → authencesn(hmac(sha256),cbc(aes)) ↓ [5] splice() the target binary's page cache into the socket ↓ [6] Trigger decryption → authencesn scratch write patches the target bytes in page cache (4 bytes per iteration) ↓ [7] Repeat for each 4-byte patch needed ↓ [8] Execute /usr/bin/su → runs root-owned setuid binary but now with attacker-controlled code in page cache ↓ [9] Root shell

root@kitploit:~
### 3.5 मानक सुरक्षा उपाय विफल क्यों होते हैं

| सुरक्षा उपाय | बायपास हुआ? | कारण |
|---------|-----------|--------|
| फ़ाइल अखंडता निगरानी (Tripwire/AIDE) | **हाँ** | डिस्क पर कोई बदलाव नहीं |
| IDS फ़ाइल हैश जाँच | **हाँ** | डिस्क बाइट्स अपरिवर्तित |
| `inotify` फ़ाइल वॉच | **हाँ** | कोई VFS राइट इवेंट नहीं |
| SELinux / AppArmor | **आंशिक** | प्रोसेस को नियंत्रित करता है, क्रिप्टो इंजन के माध्यम से पेज कैश राइट को नहीं |
| रीड-ओनली माउंट | **हाँ** | पेज कैश मेमोरी में संशोधित होता है, माउंट के माध्यम से नहीं |
| बाइनरी पर auditd `watch` | **हाँ** | ऑडिट VFS राइट्स देखता है — यह VFS को बायपास करता है |

### 3.6 प्रभावित कर्नेल संस्करण

| ब्रांच | कमज़ोर संस्करण तक | स्थिर संस्करण से |
|--------|-------------------|------------|
| 4.14.x | सभी (कमज़ोरी का उद्गम) | कोई अपस्ट्रीम फिक्स नहीं (EOL) |
| 5.4.x (LTS) | सभी | डिस्ट्रीब्यूशन बैकपोर्ट आवश्यक |
| 5.10.x (LTS) | सभी | डिस्ट्रीब्यूशन बैकपोर्ट आवश्यक |
| 5.15.x (LTS) | सभी | डिस्ट्रीब्यूशन बैकपोर्ट आवश्यक |
| 6.1.x (LTS) | ≤ 6.1.129 | **6.1.130+** |
| 6.6.x (LTS) | ≤ 6.6.86 | **6.6.87+** |
| 6.12.x (LTS) | ≤ 6.12.22 | **6.12.23+** |
| 6.15-rc | rc में स्थिर | **6.15-rc+** |

> डिस्ट्रीब्यूशन कर्नेल ने फिक्स को अलग-अलग संस्करण संख्याओं पर बैकपोर्ट किया हो सकता है। हमेशा अपने डिस्ट्रीब्यूशन के सुरक्षा परामर्श की जाँच करें।

---

## 4. हमला पद्धति — रेड टीम

> **प्राधिकरण आवश्यक।** यह अनुभाग रक्षकों को हमलावर के दृष्टिकोण को समझने में मदद करने के लिए मौजूद है। केवल उन सिस्टमों पर निष्पादित करें जिनके आप स्वामी हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित प्राधिकरण है।

### 4.1 पूर्वापेक्षाएँ

- लक्ष्य पर निम्न-विशेषाधिकार वाला शेल (SSH, कंटेनर exec, RCE चेन)
- Python 3.10+ **या** संकलित C बाइनरी
- अनपैच्ड कर्नेल जिसमें `algif_aead` उपलब्ध हो

### 4.2 टोही```bash
# Check if vulnerable
uname -r
cat /proc/crypto | grep -A10 "authencesn"
lsmod | grep algif_aead

# Verify setuid target exists
ls -la /usr/bin/su /usr/bin/sudo /usr/bin/passwd

4.3 सार्वजनिक PoC

मूल शोधकर्ताओं (Theori) ने एक पूरी तरह से काम करने वाला 732-बाइट स्टैंडअलोन Python PoC जारी किया:

  • रिपॉजिटरी: https://github.com/theori-io/copy-fail-CVE-2026-31431
  • वेबसाइट: https://copy.fail
  • फ़ाइल: `copy_fail_exp.py````bash

Default: targets /usr/bin/su

python3 copy_fail_exp.py

Custom target

python3 copy_fail_exp.py /usr/bin/passwd

root@kitploit:~
A local copy is available at `exploit/poc.py`. See `exploit/README.md` for technical breakdown.

### 4.4 Container Escape Scenario

Because the Linux page cache is shared between all processes on the same host (including host and containers):```
Attacker in container → patches /usr/bin/su in HOST page cache
Host user runs su → executes attacker code as root on host

यह नॉन-प्रिविलेज्ड कंटेनरों से भी काम करता है, जब तक होस्ट कर्नेल कमजोर है।

4.5 MITRE ATT&CK मैपिंग


5. पहचान और घटना प्रतिक्रिया — ब्लू टीम

यह इस रिपॉजिटरी का प्राथमिक फोकस है।

5.1 भेद्यता का पता लगाना

किसी भी Linux सिस्टम पर डिटेक्शन स्क्रिप्ट चलाएँ:```bash chmod +x detection/check_vulnerable.sh sudo ./detection/check_vulnerable.sh

root@kitploit:~
**यह क्या जाँचता है:**
- ज्ञात-कमजोर रेंज के विरुद्ध कर्नेल संस्करण
- `algif_aead` मॉड्यूल लोड स्थिति और ब्लैकलिस्ट स्थिति
- `/proc/crypto` में `authencesn` उपलब्धता
- setuid बाइनरीज़ की पेज कैश अखंडता (रूट की आवश्यकता है)
- वितरण-विशिष्ट पैच स्थिति
- सक्रिय शोषण संकेतकों के लिए चल रही प्रक्रियाएँ

एक टाइमस्टैम्प्ड रिपोर्ट `/tmp/cve-2026-31431-report-*.txt` में सहेजी जाती है।

### 5.2 YARA डिटेक्शन

`detection/yara/` में दो YARA नियम प्रदान किए गए हैं:

| नियम फ़ाइल | उद्देश्य |
|-----------|---------|
| `cve_2026_31431_base.yar` | ज्ञात सार्वजनिक PoC से बिल्कुल मेल खाता है |
| `cve_2026_31431_enhanced.yar` | अस्पष्ट, संकलित और वेरिएंट शोषण का पता लगाता है |```bash
# Install YARA
apt-get install yara   # Debian/Ubuntu
dnf install yara       # RHEL/Fedora
apk add yara           # Alpine

# Scan running process executables
sudo yara -r detection/yara/cve_2026_31431_enhanced.yar /proc/*/exe 2>/dev/null

# Scan common dropper locations
sudo yara -r detection/yara/cve_2026_31431_enhanced.yar /home /tmp /var/tmp /dev/shm

# Scan uploaded files / quarantine
yara detection/yara/cve_2026_31431_base.yar <suspect_file>

उन्नत नियम क्यों मायने रखते हैं: हमलावर सार्वजनिक Python PoC को अस्पष्ट कर सकते हैं (base64-encode स्ट्रिंग्स, XOR-encode एल्गोरिथम नाम, C बाइनरी में कंपाइल करना, सिंबल हटाना)। उन्नत नियम इन वेरिएंट्स का पता उन इनवेरिएंट्स को लक्षित करके लगाता है जिन्हें एक्सप्लॉइट को तोड़े बिना हटाया नहीं जा सकता:

  • कर्नेल को एल्गोरिथम नाम के रूप में authencesn प्राप्त करना ही होगा
  • एक्सप्लॉइट को zero-copy page cache एक्सेस प्राप्त करने के लिए splice() का उपयोग करना ही होगा
  • एक्सप्लॉइट को AF_ALG सॉकेट (फैमिली 38) बनाना ही होगा

5.3 Auditd नियम

/etc/audit/rules.d/cve-2026-31431.rules पर तैनात करें:```bash

Detect AF_ALG socket creation (family 38 = 0x26)

-a always,exit -F arch=b64 -S socket -F a0=38 -k cve_2026_31431_afalg

Detect splice() calls — used to feed page cache into the socket

-a always,exit -F arch=b64 -S splice -k cve_2026_31431_splice

Monitor algif_aead module loading

-a always,exit -F arch=b64 -S init_module -S finit_module -k cve_2026_31431_modload

Detect setuid binary execution by non-root users

-a always,exit -F arch=b64 -S execve -F euid=0 -F auid>=1000 -k cve_2026_31431_suid_exec

root@kitploit:~
पुनः लोड करें:```bash
augenrules --load && service auditd restart

क्वेरी शोषण प्रयासों के लिए:```bash

Look for AF_ALG socket creation

ausearch -k cve_2026_31431_afalg --start today

Correlate: same PID doing AF_ALG socket + splice

ausearch -k cve_2026_31431_afalg -k cve_2026_31431_splice --start today

root@kitploit:~
### 5.4 Falco / eBPF डिटेक्शन

`/etc/falco/rules.d/cve-2026-31431.yaml` में जोड़ें:```yaml
- rule: CVE-2026-31431 AF_ALG Socket Creation
  desc: Detects unprivileged process creating AF_ALG socket (family 38) — required step for Copy Fail exploit
  condition: >
    syscall.type = socket and
    evt.arg.domain = 38 and
    not user.uid = 0 and
    not proc.name in (known_crypto_daemons)
  output: >
    CVE-2026-31431 exploitation attempt - AF_ALG socket (user=%user.name
    uid=%user.uid pid=%proc.pid cmd=%proc.cmdline)
  priority: CRITICAL
  tags: [cve-2026-31431, lpe, kernel, crypto]

- list: known_crypto_daemons
  items: [strongswan, charon, pluto, openssl]

- rule: CVE-2026-31431 Splice After AF_ALG
  desc: Detects splice() syscall shortly after AF_ALG socket creation — exploitation sequence
  condition: >
    syscall.type = splice and
    not user.uid = 0 and
    evt.elapsed < 5000000000
  output: >
    CVE-2026-31431 splice after AF_ALG socket (user=%user.name pid=%proc.pid)
  priority: CRITICAL
  tags: [cve-2026-31431, lpe]

5.5 पेज कैश अखंडता जांच

चूंकि यह एक्सप्लॉइट पेज कैश को डिस्क पर लिखे बिना संशोधित करता है, इसलिए मानक FIM उपकरण इससे अनजान रहते हैं। यह जांच सक्रिय एक्सप्लॉइटेशन का पता लगाती है:```bash #!/bin/bash

Compare in-memory binary against on-disk binary

SETUID_BINS=("/usr/bin/su" "/usr/bin/sudo" "/usr/bin/passwd")

for binary in "${SETUID_BINS[@]}"; do [[ -f "$binary" ]] || continue LIVE_HASH=$(sha256sum "$binary" | awk '{print $1}') echo 3 | sudo tee /proc/sys/vm/drop_caches > /dev/null # flush page cache DISK_HASH=$(sha256sum "$binary" | awk '{print $1}') if [[ "$LIVE_HASH" != "$DISK_HASH" ]]; then echo "CRITICAL: Page cache tampering detected on $binary" echo " Pre-flush: $LIVE_HASH" echo " Post-flush: $DISK_HASH" else echo "OK: $binary page cache matches disk" fi done

root@kitploit:~
### 5.6 समझौते के संकेतक (IoCs)

| IoC प्रकार | संकेतक | विश्वास स्तर |
|----------|-----------|-----------|
| स्ट्रिंग (बाइनरी/स्क्रिप्ट) | `authencesn(hmac(sha256),cbc(aes))` | उच्च |
| हेक्स बाइट्स | `78 DA AB 77 F5 71 63 62 64 64` (zlib पेलोड हेडर) | उच्च |
| सिसकॉल अनुक्रम | `socket(38,5,0)` → `bind()` → `splice()` | उच्च |
| नेटवर्क | कोई नहीं — पूर्णतः स्थानीय | N/A |
| फ़ाइल | कोई डिस्क लेखन नहीं (स्टील्थ) | — |
| प्रक्रिया | AF_ALG सॉकेट वाली अल्पकालिक Python/C प्रक्रिया | मध्यम |
| पेज कैश | सेटुइड बाइनरी पेज कैश ≠ डिस्क पर हैश | गंभीर |

### 5.7 SIEM डिटेक्शन क्वेरीज़

**Splunk (auditd स्रोत):**```spl
index=linux_audit sourcetype=auditd action=SYSCALL syscall=socket a0="0x26"
| join pid [
    search index=linux_audit sourcetype=auditd action=SYSCALL syscall=splice
  ]
| where (_time - join_time) < 30
| table _time host user pid cmd a0
| eval severity="CRITICAL"

Elastic KQL:```kql event.action: "SYSCALL" AND process.args: "socket" AND auditd.data.a0: "0x26" AND NOT user.id: "0"

root@kitploit:~
**Microsoft Sentinel (KQL):**```kql
Syslog
| where Facility == "kern" or ProcessName == "audit"
| where SyslogMessage contains "socket" and SyslogMessage contains "a0=0x26"
| extend UserName = extract("uid=([0-9]+)", 1, SyslogMessage)
| where UserName != "0"
| project TimeGenerated, Computer, UserName, SyslogMessage
| order by TimeGenerated desc

6. पैचिंग और सुधार

स्वचालित पैच स्क्रिप्ट चलाएँ:```bash chmod +x patch/patch.sh sudo ./patch/patch.sh

root@kitploit:~
### 6.1 तत्काल शमन (रीबूट की आवश्यकता नहीं*)```bash
# Blacklist the module permanently
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
echo "install authencesn /bin/false" | sudo tee -a /etc/modprobe.d/disable-algif-aead.conf

# Unload if currently loaded
sudo rmmod algif_aead 2>/dev/null || echo "Not loaded — mitigation active after config"

# Verify
lsmod | grep algif_aead && echo "WARNING: still loaded — reboot needed" || echo "OK: not loaded"

*यदि algif_aead पहले से लोड है, तो ब्लैकलिस्ट को पूर्ण प्रभाव में लाने के लिए रिबूट आवश्यक है।

दुष्प्रभाव: जो एप्लिकेशन AF_ALG के माध्यम से कर्नेल AEAD इंटरफ़ेस का उपयोग करते हैं (असामान्य — अधिकांश OpenSSL यूज़रस्पेस का उपयोग करते हैं) विफल हो सकते हैं। मानक TLS, डिस्क एन्क्रिप्शन और VPN उपकरण आम तौर पर प्रभावित नहीं होते।

6.2 स्थायी समाधान — कर्नेल अपडेट

6.3 Kubernetes क्लस्टर```bash

Check all node kernel versions

kubectl get nodes -o wide

Drain → update node kernel → uncordon (one node at a time)

kubectl drain --ignore-daemonsets --delete-emptydir-data

SSH into node and run kernel update

kubectl uncordon

root@kitploit:~
नोड ऑटो-अपग्रेडर (Karpenter, Managed Node Groups) का उपयोग करें या जहाँ उपलब्ध हो वहाँ क्लस्टर नोड पूल रोटेशन करें।

### 6.4 पैच के बाद सत्यापन```bash
# Re-run detection script
sudo ./detection/check_vulnerable.sh

# Quick manual verification
uname -r                          # confirm new kernel version
lsmod | grep algif_aead           # should be empty
cat /proc/crypto | grep authencesn  # should return nothing (or still listed but module blacklisted)

7. प्रयोगशाला वातावरण

परीक्षण डिटेक्शन टूलिंग को सुरक्षित रूप से करने के लिए एक न्यूनतम Alpine Docker प्रयोगशाला प्रदान की गई है।```bash cd lab/ docker compose up -d docker exec -it cve-2026-31431-lab /bin/sh

Inside container:

/cve-2026-31431/detection/check_vulnerable.sh

root@kitploit:~
> **महत्वपूर्ण:** Docker कंटेनर होस्ट कर्नेल साझा करते हैं। यह लैब **आपके होस्ट कर्नेल की** भेद्यता स्थिति का परीक्षण करती है। भेद्यता परिणाम वास्तविक होस्ट सिस्टम को दर्शाते हैं — यह यथार्थवादी मूल्यांकन के लिए जानबूझकर किया गया है।

किसी विशिष्ट भेद्य कर्नेल संस्करण के साथ अलग-थलग परीक्षण के लिए, पिन किए गए कर्नेल के साथ एक समर्पित VM का उपयोग करें। VM सेटअप मार्गदर्शन के लिए `lab/README.md` देखें।

---

## 8. संदर्भ

| संसाधन | लिंक |
|----------|------|
| NVD सलाह | https://nvd.nist.gov/vuln/detail/CVE-2026-31431 |
| मूल शोध | https://copy.fail |
| तकनीकी विवरण | https://xint.io/blog/copy-fail-linux-distributions |
| सार्वजनिक PoC | https://github.com/theori-io/copy-fail-CVE-2026-31431 |
| CISA KEV कैटलॉग | https://www.cisa.gov/known-exploited-vulnerabilities-catalog |
| कर्नेल फिक्स — रिवर्ट कमिट | `a664bf3d603d` / `fafe0fa2995a` |
| भेद्य कमिट | `72548b093ee3` |
| Microsoft Defender सलाह | Microsoft Defender Threat Intelligence ब्लॉग |

---

## रिपॉजिटरी संरचना```
cve-2026-31431/
├── README.md                          ← This document
├── exploit/
│   ├── README.md                      ← Technical exploit breakdown
│   └── poc.py                         ← Public PoC (theori-io, for reference)
├── detection/
│   ├── README.md                      ← Detection guide
│   ├── check_vulnerable.sh            ← Vulnerability & IoC detection script
│   └── yara/
│       ├── cve_2026_31431_base.yar    ← Detects known public PoC
│       └── cve_2026_31431_enhanced.yar ← Detects obfuscated/compiled variants
├── patch/
│   ├── README.md                      ← Remediation guide
│   └── patch.sh                       ← Automated patch/mitigation script
└── lab/
    ├── README.md                      ← Lab setup guide
    ├── Dockerfile                     ← Alpine-based lab container
    └── docker-compose.yml             ← Lab orchestration

यह शोध केवल शैक्षिक और रक्षात्मक सुरक्षा उद्देश्यों के लिए प्रदान किया गया है। सभी टूलिंग को डिफेंडरों को उन सिस्टम पर CVE-2026-31431 का पता लगाने और उसे ठीक करने में मदद करने के लिए डिज़ाइन किया गया है जिनकी सुरक्षा के लिए वे अधिकृत हैं।

रिपॉजिटरी का रखरखाव rippsec द्वारा किया जाता है

टूल डाउनलोड करें
गुणमान
राइट का आकार4 बाइट
ऑफ़सेट नियंत्रणहाँ — splice ऑफ़सेट के माध्यम से हमलावर-नियंत्रित
लक्ष्यकिसी भी पठनीय फ़ाइल का पेज कैश
डर्टी पेज मार्किंगकोई नहीं
डिस्क पर संशोधनकोई नहीं
टाइमस्टैम्प अपडेटकोई नहीं
कर्नेल लॉग प्रविष्टिकोई नहीं (जब तक auditd कॉन्फ़िगर न हो)
तकनीकIDनोट्स
विशेषाधिकार वृद्धि के लिए शोषणT1068मुख्य तकनीक
उन्नयन नियंत्रण तंत्र का दुरुपयोग: Setuid/SetgidT1548.001Setuid बाइनरी अपहरण
निष्पादन प्रवाह का अपहरणT1574इन-मेमोरी बाइनरी पैचिंग
संकेतक हटाना: TimestompT1070.006कोई टाइमस्टैम्प अपडेट नहीं
अप्रत्यक्ष कमांड निष्पादनT1202पैच की गई बाइनरी शेल निष्पादित करती है
वितरणअपडेट कमांड
Ubuntu / Debianapt-get update && apt-get upgrade linux-image-generic && reboot
RHEL / CentOS / Rockydnf update kernel && reboot
Amazon Linux 2yum update kernel && reboot
Amazon Linux 2023dnf update kernel && reboot
SUSE / SLESzypper update kernel-default && reboot
Arch Linuxpacman -Syu linux && reboot
Alpine Linuxapk update && apk upgrade linux-lts && reboot
Debianapt-get update && apt-get upgrade linux-image-amd64 && reboot