
# CVE-2026-31431 (Copy Fail) का पता लगाने और उपचार के लिए Ansible playbook - Linux कर्नेल स्थानीय विशेषाधिकार वृद्धि भेद्यता
Copy Fail Detection and Remediation
CVE-2026-31431 (कॉपी फेल) का पता लगाने और उसे ठीक करने के लिए एक Ansible रोल और प्लेबुक सूट, जो Linux कर्नेल के algif_aead मॉड्यूल में एक गंभीर स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) भेद्यता है।
🔗 GitHub: https://github.com/parmstro/cfDr
नाम cfDr "कॉपी फेल डॉक्टर" पर एक श्लेष है - CVE-2026-31431 के लिए आपका विश्वसनीय उपचार।
CVE-2026-31431 (CVSS 7.8) Linux कर्नेल के AEAD सॉकेट इंटरफ़ेस (AF_ALG) में 2026 में खोजा गया एक तर्क दोष (logic flaw) है। यह भेद्यता किसी भी विशेषाधिकार-रहित स्थानीय उपयोगकर्ता को सेकंडों में रूट तक विशेषाधिकार बढ़ाने की अनुमति देती है।
algif_aead कर्नेल मॉड्यूल (AF_ALG क्रिप्टो इंटरफ़ेस)कर्नेल संस्करण: Linux कर्नेल >= 4.10 (2017 में जारी)
प्रभावित वितरण:
नोट: कर्नेल 4.10 या नए वाला कोई भी Linux वितरण संभावित रूप से असुरक्षित है।
यह भेद्यता विशेष रूप से खतरनाक है क्योंकि:
एक बार जब हमलावर के पास किसी भी प्रकार की स्थानीय पहुंच (SSH, वेब शेल, कंटेनर एस्केप, आदि) हो जाती है, तो वे यह कर सकते हैं:
विक्रेता-आपूर्ति कर्नेल पैच की प्रतीक्षा करते समय, कई शमन रणनीतियाँ उपलब्ध हैं। cfDr उन सभी को लागू करता है, आपके सिस्टम कॉन्फ़िगरेशन के आधार पर बुद्धिमान अनुशंसाओं के साथ।
सभी उपचार समान नहीं हैं। यहाँ वह जानकारी है जो आपको जाननी चाहिए:
| विधि | क्या रूट बायपास कर सकता है? | कवरेज | एंटरप्राइज़ Linux समर्थन |
|---|---|---|---|
| मॉड्यूल ब्लैकलिस्ट | ✅ हाँ (insmod के माध्यम से) | modprobe लोडिंग को रोकता है | सभी संस्करण |
| SELinux नीति | ❌ नहीं (LSM परत) | केवल कॉन्फ़िगर किए गए डोमेन | सभी संस्करण (डिफ़ॉल्ट) |
| systemd seccomp | ❌ नहीं (syscall फ़िल्टर) | केवल कॉन्फ़िगर की गई सेवाएँ | सभी संस्करण |
| eBPF LSM | ❌ नहीं (LSM परत) | सिस्टम-व्यापी (यदि कॉन्फ़िगर किया गया हो) | RHEL 9+, Fedora 34+ |
cfDr की डिफ़ॉल्ट अनुशंसा: फ्लैग 3 (मॉड्यूल ब्लैकलिस्ट + SELinux)
यह दो स्वतंत्र सुरक्षा परतें प्रदान करता है:``` ┌─────────────────────────────────────────────────┐ │ Layer 1: Module Blacklist │ │ • Prevents modprobe algif_aead │ │ • Persists across reboots │ │ • CAN be bypassed by malicious root (insmod) │ ├─────────────────────────────────────────────────┤ │ Layer 2: SELinux Policy │ │ • Blocks AF_ALG socket() at syscall level │ │ • Works even if module is loaded │ │ • CANNOT be bypassed from userspace │ │ • Covers user_t, unconfined_t (majority cases) │ └─────────────────────────────────────────────────┘
Result: If either layer fails, the other still protects
### मॉड्यूल ब्लैकलिस्ट अकेले पर्याप्त क्यों नहीं है
रूट एक्सेस वाला एक दृढ़ संकल्पित हमलावर मॉड्यूल ब्लैकलिस्टिंग को बायपास कर सकता है:```bash
# Module blacklist DOES NOT prevent:
insmod /lib/modules/$(uname -r)/kernel/crypto/algif_aead.ko.xz
हालाँकि, यह स्वीकार्य है क्योंकि:
पूर्ण, बाईपास-रहित सुरक्षा के लिए, आपको चाहिए:
मॉड्यूल ब्लैकलिस्ट + निम्न में से कम से कम एक:
cfDr कई मिटिगेशन सक्षम करने के लिए बिटवाइज़ फ़्लैग का उपयोग करता है:
| फ़्लैग मान | सक्षम मिटिगेशन | उपयोग का मामला |
|---|---|---|
| 1 | केवल मॉड्यूल ब्लैकलिस्ट | न्यूनतम सुरक्षा, SELinux के बिना सिस्टम |
| 2 | केवल SELinux | केवल SELinux वातावरण |
| 3 | मॉड्यूल ब्लैकलिस्ट + SELinux | अनुशंसित डिफ़ॉल्ट |
| 5 | मॉड्यूल ब्लैकलिस्ट + seccomp | सेवा हार्डनिंग के साथ गैर-SELinux |
| 7 | मॉड्यूल ब्लैकलिस्ट + SELinux + seccomp | उन्नत सुरक्षा |
| 15 | सभी मिटिगेशन | अधिकतम सुरक्षा (केवल RHEL 9+) |
फ़्लैग की गणना करें: 1 (ब्लैकलिस्ट) + 2 (SELinux) + 4 (seccomp) + 8 (eBPF) = योग
SELinux सुरक्षा:
user_t, unconfined_t, httpd_t, postgresql_t, mysqld_tuser_t और unconfined_t अधिकांश हमले के परिदृश्यों को कवर करते हैंsystemd seccomp सुरक्षा:
httpd, nginx, postgresql, mariadb, redis, memcachedeBPF LSM सुरक्षा:
cfDr कई आयामों में व्यापक मूल्यांकन करता है:
uname -r
- निर्धारित करता है कि कर्नेल संस्करण >= 4.10 है (कमजोर सीमा)
- कर्नेल रिलीज़ और वितरण की पहचान करता है
#### 2. मॉड्यूल उपलब्धता जांच```bash
modinfo algif_aead
algif_aead मॉड्यूल मौजूद हैlsmod | grep algif_aead
- निर्धारित करता है कि मॉड्यूल वर्तमान में लोड है या नहीं
- **महत्वपूर्ण**: लोड किया गया मॉड्यूल = सक्रिय रूप से शोषण योग्य
#### 4. सक्रिय सॉकेट का पता लगाना```bash
lsof -U | grep AF_ALG
मॉड्यूल ब्लैकलिस्ट:```bash grep -E "blacklist algif_aead|install algif_aead" /etc/modprobe.d/*.conf
**SELinux नीति**:```bash
semodule -l | grep cve_2026_31431_af_alg_deny
systemd seccomp:```bash systemctl show | grep RestrictAddressFamilies
#### 6. श्रेणीबद्ध स्थिति निर्धारण
cfDr प्रत्येक होस्ट को इनमें से किसी एक स्थिति में वर्गीकृत करता है: