
# 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 प्रत्येक होस्ट को इनमें से किसी एक स्थिति में वर्गीकृत करता है:
| स्थिति | शर्त | आवश्यक कार्रवाई |
|--------|-----------|-----------------|
| **कमजोर - मॉड्यूल लोड है** | कर्नेल >= 4.10, मॉड्यूल मौजूद है और लोड है | **तत्काल** - सक्रिय रूप से शोषण योग्य |
| **कमजोर - मॉड्यूल मौजूद है** | कर्नेल >= 4.10, मॉड्यूल मौजूद है, लोड नहीं है | **उच्च** - लोड और शोषण किया जा सकता है |
| **शमित - मॉड्यूल ब्लैकलिस्टेड** | ब्लैकलिस्ट का पता चला | **कम** - निगरानी करें, अतिरिक्त परतें लागू करें |
| **संरक्षित - गहराई से सुरक्षा** | ब्लैकलिस्ट + SELinux/seccomp/eBPF | **कोई नहीं** - पूरी तरह से संरक्षित |
| **कमजोर नहीं - पुराना कर्नेल** | कर्नेल < 4.10 | **कोई नहीं** - कमजोरी से पहले का |
| **कमजोर नहीं - कोई मॉड्यूल नहीं** | algif_aead मॉड्यूल कर्नेल में नहीं है | **कोई नहीं** - मॉड्यूल उपलब्ध नहीं है |
### मूल्यांकन आउटपुट
प्रत्येक होस्ट को प्राप्त होता है:
1. **कंसोल आउटपुट**: संक्षिप्त एक-पंक्ति स्थिति
2. **विस्तृत फ़ाइल**: `/root/cve-2026-31431-assessment-<hostname>.txt`
3. **JSON रिपोर्ट**: `/tmp/cve-2026-31431-<hostname>.json`
संक्षिप्त आउटपुट का उदाहरण:```
webserver1.example.com: VULNERABLE - Module exists and can be loaded
dbserver2.example.com: PROTECTED - Defense-in-depth (Module Blacklist + SELinux)
appserver3.example.com: NOT VULNERABLE - Module not available
cfDr एक आधुनिक Ansible role के रूप में बनाया गया है जिसमें कई playbook entry points हैं:``` cfDr/ ├── roles/ │ └── cve_2026_31431/ # Main role │ ├── tasks/ │ │ ├── main.yml # Role orchestration │ │ ├── assessment.yml # Vulnerability detection │ │ ├── remediation_module_blacklist.yml │ │ ├── remediation_selinux.yml │ │ ├── remediation_seccomp.yml │ │ ├── remediation_ebpf.yml │ │ ├── reporting.yml # Status reporting │ │ └── inventory_update.yml # Inventory generation │ ├── templates/ # Config file templates │ ├── defaults/ # Default variables │ └── handlers/ # Service restarts, etc. ├── quickstart.yml # Simplest usage ├── sample_playbook.yml # Multiple examples └── cve_2026_31431_playbook.yml # Full-featured playbook
### निष्पादन प्रवाह
#### मूल्यांकन मोड (डिफ़ॉल्ट)```
1. Pre-flight checks
↓
2. Gather system facts
↓
3. Detect kernel version
↓
4. Check module availability
↓
5. Check current load status
↓
6. Check existing mitigations
↓
7. Determine vulnerability status
↓
8. Flag vulnerable hosts
↓
9. Generate reports
↓
10. Create summary
↓
11. [Optional] Generate inventory
apply_remediation=true)```1-8. [Same as Assessment Mode] ↓ 9. Apply Module Blacklist (if flag 1) • Unload module if loaded • Create blacklist config • Update initramfs/initrd • Verify blacklist works ↓ 10. Apply SELinux Policy (if flag 2) • Install policy packages • Compile policy module • Install policy • Verify policy active ↓ 11. Apply systemd seccomp (if flag 4) • Create drop-in files • Reload systemd • Restart services • Verify filters active ↓ 12. Apply eBPF LSM (if flag 8) • Compile eBPF program • Load into kernel • Verify program attached ↓ 13. Re-assess protection status ↓ 14. Generate reports ↓ 15. Create summary
### उपचार विवरण
#### मॉड्यूल ब्लैकलिस्ट (फ्लैग 1)
**यह क्या करता है**:
1. यदि `algif_aead` मॉड्यूल वर्तमान में लोड है तो उसे अनलोड करता है (`rmmod algif_aead`)
2. `/etc/modprobe.d/blacklist-algif_aead-cve-2026-31431.conf` बनाता है: ```
blacklist algif_aead
install algif_aead /bin/true
update-initramfs -udracut -fmodprobe के माध्यम से लोड नहीं किया जा सकतासुरक्षा: तत्काल, रिबूट की आवश्यकता नहीं स्थिरता: रिबूट और कर्नेल अपडेट से बची रहती है
यह क्या करता है:
policycoreutilspolicycoreutils-python-utilsselinux-policy-develcheckpolicysemodule -i cve_2026_31431_af_alg_deny.ppसंरक्षित डोमेन (डिफ़ॉल्ट):
user_t - नियमित उपयोगकर्ता प्रक्रियाएँunconfined_t - अप्रतिबंधित प्रक्रियाएँhttpd_t - Apache वेब सर्वरpostgresql_t - PostgreSQL डेटाबेसmysqld_t - MySQL/MariaDB डेटाबेससुरक्षा: LSM परत पर रोकता है, इसे बायपास नहीं किया जा सकता स्थिरता: पॉलिसी रिबूट से बची रहती है
यह क्या करता है:
/etc/systemd/system/<service>.service.d/90-cve-2026-31431-block-af-alg.confRestrictAddressFamilies=~AF_ALG निर्देश जोड़ता हैसंरक्षित सेवाएँ (डिफ़ॉल्ट):
httpd, nginx - वेब सर्वरpostgresql, mariadb - डेटाबेसredis, memcached - कैश सर्वरसुरक्षा: प्रति सेवा syscall स्तर पर सॉकेट निर्माण को रोकता है स्थिरता: रिबूट और सेवा अपडेट से बची रहती है
यह क्या करता है:
आवश्यकताएँ:
CONFIG_BPF_LSM=y के साथ कर्नेल 5.7+सुरक्षा: गतिशील, प्रोग्रामेबल सिस्टम-व्यापी पॉलिसी स्थिरता: बूट पर रीलोड करने के लिए सिस्टम सेवा की आवश्यकता होती है
cfDr केवल कमज़ोर होस्ट वाली उपयोग-तैयार इन्वेंट्री फ़ाइलें उत्पन्न कर सकता है:
उत्पन्न फ़ाइलें:``` inventory_output/ ├── vulnerable_hosts.yml # YAML inventory ├── vulnerable_hosts.ini # INI inventory ├── group_vars_vulnerable_hosts.yml # Group variables └── host_vars/ ├── host1.yml # Per-host details └── host2.yml
**इसमें क्या शामिल है**:
- भेद्यता मूल्यांकन परिणाम
- अनुशंसित शमन फ़्लैग (प्रति होस्ट गणना)
- सिस्टम विवरण (कर्नेल संस्करण, SELinux स्थिति)
- लागू करने के लिए तैयार सुधार सेटिंग्स
**बुद्धिमान अनुशंसाएँ**:
- फ़्लैग 3 (मॉड्यूल ब्लैकलिस्ट + SELinux) यदि SELinux सक्षम है
- फ़्लैग 1 (केवल मॉड्यूल ब्लैकलिस्ट) यदि SELinux उपलब्ध नहीं है
- जनरेट किए गए `host_vars` के माध्यम से प्रति होस्ट अनुकूलन योग्य
---
## सिस्टम क्रिप्टोग्राफी पर प्रभाव
### महत्वपूर्ण निष्कर्ष: मानक RHEL क्रिप्टोग्राफी प्रभावित नहीं है
**विश्वास स्तर**: ⭐⭐⭐⭐⭐ **उच्च** - व्यापक विश्लेषण के लिए [IPsec/XFRM सत्यापन रिपोर्ट](https://github.com/parmstro/cfdr/blob/HEAD/docs/IPSEC_VALIDATION.md) देखें
**एंटरप्राइज़ Linux परिनियोजन के लिए अच्छी खबर:** [CERT-EU](https://cert.europa.eu/publications/security-advisories/2026-005/), [CloudLinux](https://blog.cloudlinux.com/cve-2026-31431-copy-fail-mitigation-and-patches), और [HPCsec](https://www.hpcsec.com/2026/04/30/advisory-cve-2026-31431-copy-fail-local-privilege-escalation-via-af-alg-algif_aead/) सहित आधिकारिक स्रोतों के आधार पर, **cfDr के शमन का मानक RHEL सिस्टम क्रिप्टोग्राफी और सेवाओं पर न्यूनतम से शून्य प्रभाव** है।
### क्या प्रभावित नहीं है
निम्नलिखित महत्वपूर्ण RHEL क्रिप्टोग्राफ़िक सिस्टम **AF_ALG का उपयोग नहीं करते** और हमारे सुधारों से पूरी तरह अप्रभावित हैं:
#### मुख्य सिस्टम सेवाएँ
| सेवा/घटक | कार्य | स्थिति |
|------------------|----------|--------|
| **dm-crypt / LUKS** | पूर्ण डिस्क एन्क्रिप्शन | ✅ अप्रभावित |
| **IPsec / XFRM** | VPN और एन्क्रिप्टेड नेटवर्किंग | ✅ अप्रभावित ([सत्यापित](https://github.com/parmstro/cfdr/blob/HEAD/docs/IPSEC_VALIDATION.md)) |
| **kTLS** | कर्नेल TLS कार्यान्वयन | ✅ अप्रभावित |
| **SSH** | सुरक्षित शेल कनेक्शन | ✅ अप्रभावित |
#### क्रिप्टोग्राफ़िक लाइब्रेरीज़
| लाइब्रेरी | उपयोग | स्थिति |
|---------|-------|--------|
| **OpenSSL** (डिफ़ॉल्ट) | SSL/TLS, प्रमाणपत्र, सामान्य क्रिप्टो | ✅ अप्रभावित |
| **GnuTLS** (डिफ़ॉल्ट) | TLS कार्यान्वयन | ✅ अप्रभावित |
| **NSS** | Mozilla नेटवर्क सुरक्षा सेवाएँ | ✅ अप्रभावित |
| **कर्नेल कीरिंग** | कर्नेल कुंजी प्रबंधन | ✅ अप्रभावित |
#### महत्वपूर्ण अवसंरचना
- ✅ **SSL/TLS** - सभी वेब सर्वर एन्क्रिप्शन अप्रभावित
- ✅ **HTTPS** - सुरक्षित वेब ट्रैफ़िक अप्रभावित
- ✅ **ईमेल एन्क्रिप्शन** (S/MIME, PGP) - अप्रभावित
- ✅ **प्रमाणपत्र संचालन** - अप्रभावित
- ✅ **डेटाबेस एन्क्रिप्शन** - अप्रभावित
- ✅ **बैकअप एन्क्रिप्शन** - अप्रभावित
### मानक सेवाएँ AF_ALG का उपयोग क्यों नहीं करतीं
[Linux कर्नेल क्रिप्टो दस्तावेज़ीकरण](https://www.kernel.org/doc/html/v4.11/crypto/userspace-if.html) में दर्ज अनुसार, **AF_ALG Linux 2.6.38 में पेश किया गया कर्नेल क्रिप्टो के लिए एक यूज़रस्पेस सॉकेट इंटरफ़ेस** है। हालाँकि, अधिकांश RHEL सिस्टम सेवाएँ AF_ALG सॉकेट परत से गुज़रने के बजाय कर्नेल क्रिप्टो API का **सीधे** उपयोग करती हैं।
[CERT-EU की सुरक्षा सलाह](https://cert.europa.eu/publications/security-advisories/2026-005/) के अनुसार:
> "dm-crypt / LUKS, kTLS, IPsec, SSH, और डिफ़ॉल्ट OpenSSL / GnuTLS बिल्ड AF_ALG पर निर्भर नहीं हैं और AF_ALG सीमाओं से अप्रभावित हैं।"
आर्किटेक्चर इस प्रकार दिखता है:```
┌─────────────────────────────────────────────┐
│ Userspace Applications │
├─────────────────────────────────────────────┤
│ Standard Crypto Libraries │
│ (OpenSSL, GnuTLS, NSS) │
│ │ │
│ └─────> In-Kernel Crypto API ──────────┐ │
│ (Direct access) │ │
├──────────────────────────────────────────┼──┤
│ AF_ALG Socket Interface (RARELY USED) │ │
│ │ │ │
│ └─────> In-Kernel Crypto API ──────────┘ │
├─────────────────────────────────────────────┤
│ Kernel Crypto Subsystem │
│ (AES, SHA, AEAD algorithms) │
└─────────────────────────────────────────────┘
Standard services bypass AF_ALG entirely
R-fx Networks विश्लेषण के अनुसार:
"अधिकांश HPC वातावरणों के लिए, यह कुछ भी नहीं तोड़ेगा – AF_ALG कर्नेल क्रिप्टो के लिए एक यूज़रस्पेस फ्रंट-डोर है जिसका वास्तव में लगभग कुछ भी उपयोग नहीं करता है।"
केवल ये अत्यंत दुर्लभ कॉन्फ़िगरेशन प्रभावित हो सकते हैं:
RHEL पर डिफ़ॉल्ट नहीं। afalg इंजन को स्पष्ट रूप से कॉन्फ़िगर किया जाना चाहिए:```bash
openssl engine afalg
**उपयोग-मामला:** हार्डवेयर क्रिप्टो त्वरण ऑफलोड
**व्यापकता:** मानक तैनातियों में अत्यंत दुर्लभ
**प्रभाव:** एप्लिकेशन सॉफ्टवेयर क्रिप्टो पर वापस आ जाता है
#### 2. libkcapi का उपयोग करने वाले कस्टम एप्लिकेशन
विशेष लाइब्रेरीज़ का उपयोग करके **प्रत्यक्ष AF_ALG सॉकेट प्रोग्रामिंग**।
**उपयोग-मामला:** विशेष सुरक्षा उपकरण या कस्टम क्रिप्टो एप्लिकेशन
**व्यापकता:** मानक एंटरप्राइज़ वातावरण में लगभग अस्तित्वहीन
**प्रभाव:** एप्लिकेशन-विशिष्ट, कोड संशोधन की आवश्यकता होगी
#### 3. हार्डवेयर क्रिप्टो ऑफलोड उपकरण
हार्डवेयर त्वरण के लिए AF_ALG का उपयोग करने वाले **विशेष उपकरण**।
**उपयोग-मामला:** उच्च-प्रदर्शन कंप्यूटिंग, क्रिप्टोग्राफिक हार्डवेयर एक्सेलेरेटर
**व्यापकता:** केवल विशेष उच्च-सुरक्षा या HPC वातावरण में
**प्रभाव:** सॉफ्टवेयर क्रिप्टो पर वापस आना
### Red Hat आधिकारिक रुख
[Red Hat Bugzilla #2460538](https://bugzilla.redhat.com/show_bug.cgi?id=2460538) के अनुसार:
- **CVE:** CVE-2026-31431
- **गंभीरता:** उच्च (CVSS 7.8)
- **स्थिति:** कर्नेल 6.19.12+ में ठीक किया गया
- **समाधान:** 2017 के इन-प्लेस अनुकूलन को वापस लेता है (कमिट 72548b093ee3)
- **प्रभाव:** "algif_aead में इन-प्लेस संचालन का कोई लाभ नहीं क्योंकि स्रोत और गंतव्य विभिन्न मैपिंग से आते हैं"
### शमन फ्लैग द्वारा प्रभाव आकलन
| फ्लैग | शमन उपाय | मानक सेवाओं पर प्रभाव |
|------|------------|----------------------------|
| 1 | मॉड्यूल ब्लैकलिस्ट | ✅ शून्य प्रभाव - AF_ALG उपयोग नहीं किया गया |
| 2 | SELinux नीति | ✅ शून्य प्रभाव - अप्रयुक्त syscall को अवरुद्ध करता है |
| **3** | **ब्लैकलिस्ट + SELinux** | ✅ **शून्य प्रभाव - अनुशंसित** |
| 5 | ब्लैकलिस्ट + seccomp | ✅ शून्य प्रभाव - प्रति-सेवा सुरक्षित |
| 7 | ब्लैकलिस्ट + SELinux + seccomp | ✅ शून्य प्रभाव - गहराई में रक्षा |
| 15 | सभी शमन उपाय | ✅ शून्य प्रभाव - अधिकतम सुरक्षा |
### उपचार के बाद सत्यापन
cfDr शमन उपायों को लागू करने के बाद, सत्यापित करें कि महत्वपूर्ण सेवाएं संचालित होती रहें:```bash
# Test SSH connectivity
ssh localhost echo "SSH working"
# Test HTTPS (if web server running)
curl -k https://localhost
# Test LUKS encryption (if using encrypted volumes)
cryptsetup status /dev/mapper/luks-volume
# Test IPsec (if VPN configured)
ipsec status
# Test system services
systemctl status sshd
systemctl status httpd
systemctl status postgresql
# Check for any service failures
systemctl --failed
अपेक्षित परिणाम: सभी सेवाएँ सामान्य रूप से कार्य करती रहती हैं।
कई आधिकारिक सुरक्षा संगठन हमारे आकलन की पुष्टि करते हैं:
CERT-EU (30 अप्रैल 2026):
"dm-crypt / LUKS, kTLS, IPsec, SSH, और डिफ़ॉल्ट OpenSSL / GnuTLS बिल्ड AF_ALG पर निर्भर नहीं करते हैं"
Sysdig (29 अप्रैल 2026):
दस्तावेज़ित करता है कि मानक क्रिप्टो ऑपरेशन AF_ALG सॉकेट के बजाय इन-कर्नेल APIs का उपयोग करते हैं
R-fx Networks (2 मई 2026):
"होस्टिंग वर्कलोड वैध रूप से AF_ALG का उपयोग नहीं करते हैं, जिससे उत्पादन सेवाओं को प्रभावित किए बिना इसे शमन के रूप में अक्षम करना सुरक्षित है"
HPCsec (30 अप्रैल 2026):
"अधिकांश HPC वातावरणों के लिए, यह कुछ भी नहीं तोड़ेगा – AF_ALG कर्नेल क्रिप्टो के लिए एक यूज़रस्पेस फ्रंट-डोर है जिसका वास्तव में लगभग कुछ भी उपयोग नहीं करता है"
मानक RHEL/CentOS/Fedora वातावरणों के लिए:
निर्णय मैट्रिक्स:
| आपका वातावरण | अनुशंसा | कारण |
|---|---|---|
| मानक RHEL सर्वर | अभी फ्लैग 3 तैनात करें | शून्य प्रभाव, तत्काल सुरक्षा |
| कस्टम क्रिप्टो वाला RHEL | पहले AF_ALG उपयोग के लिए ऑडिट करें | अत्यंत असंभव, लेकिन सत्यापित करें |
| विकास प्रणालियाँ | अभी फ्लैग 3 तैनात करें | उत्पादन के समान |
| उच्च-सुरक्षा वातावरण | फ्लैग 7 या 15 तैनात करें | अधिकतम डिफेंस-इन-डेप्थ |
cfDr के उपचार सभी मानक RHEL परिनियोजनों के लिए सुरक्षित हैं। algif_aead मॉड्यूल और AF_ALG सॉकेट इंटरफ़ेस एंटरप्राइज़ Linux प्रणालियों पर किसी भी महत्वपूर्ण सिस्टम क्रिप्टोग्राफी द्वारा उपयोग नहीं किए जाते हैं।
इसका क्या अर्थ है:
एकमात्र सैद्धांतिक जोखिम उन कस्टम एप्लिकेशनों के लिए है जो स्पष्ट रूप से AF_ALG सॉकेट का उपयोग करने के लिए प्रोग्राम किए गए हैं - एक ऐसा परिदृश्य जो इतना दुर्लभ है कि कई सुरक्षा संगठनों ने स्वतंत्र रूप से पुष्टि की है कि एंटरप्राइज़ वातावरणों में AF_ALG को ब्लॉक करना सुरक्षित है।
यह कार्यप्रवाह पूर्णता और परिचालन सुरक्षा के बीच संतुलन बनाता है:
ansible-playbook -i inventory quickstart.yml
**क्या होता है**:
- सभी होस्ट का मूल्यांकन किया जाता है
- कोई बदलाव नहीं किए जाते
- रिपोर्ट तैयार की जाती हैं
**समीक्षा**:
- प्रत्येक होस्ट पर `/root/cve-2026-31431-assessment-<hostname>.txt` जांचें
- सारांश आउटपुट की समीक्षा करें
- संवेदनशील होस्ट की पहचान करें
**अपेक्षित आउटपुट**:```
CVE-2026-31431 Summary Report
==========================================
Total hosts scanned: 50
Vulnerable hosts: 12
VULNERABLE HOSTS REQUIRING REMEDIATION:
web1.example.com, web2.example.com, db1.example.com, ...
DEFAULT RECOMMENDED MITIGATION: Flag 3
- Module Blacklist (1) + SELinux (2) = Defense-in-depth
- Module Blacklist alone can be bypassed by root (via insmod)
- SELinux blocks syscall even if blacklist is bypassed
- Covers user_t/unconfined_t (vast majority of scenarios)
ansible-playbook -i inventory quickstart.yml -e generate_inventory=true -e inventory_output_dir=./vulnerable_hosts
**क्या होता है**:
- कमजोर होस्ट की पहचान की जाती है
- प्रति होस्ट अनुशंसित शमन फ्लैग की गणना की जाती है
- इन्वेंट्री फ़ाइलें उत्पन्न की जाती हैं
**समीक्षा**:```bash
# Check generated inventory
cat vulnerable_hosts/vulnerable_hosts.yml
# Review per-host recommendations
ls vulnerable_hosts/host_vars/
ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml
-e apply_remediation=true
--limit 'dev*:test*'
**क्या होता है**:
- मिटिगेशन केवल टेस्ट/डेव होस्ट पर लागू किए जाते हैं
- सेवाएँ पुनः प्रारंभ की जाती हैं (seccomp के लिए)
- सत्यापन किया जाता है
**सत्यापित करें**:```bash
# Re-scan test hosts
ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml quickstart.yml --limit 'dev*:test*'
# Check for "PROTECTED - Defense-in-depth" status
परीक्षण अनुप्रयोग:
ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml
-e apply_remediation=true
--limit 'web*'
ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml
-e apply_remediation=true
--limit 'app*'
ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml
-e apply_remediation=true
--limit 'db*'
**क्या होता है**:
- प्रत्येक टियर को अलग से ठीक किया जाता है
- सेवाओं को एक-एक करके पुनः आरंभ किया जाता है
- चरणबद्ध सत्यापन की अनुमति देता है
**चरणों के बीच निगरानी**:
- सेवा की उपलब्धता जांचें
- एप्लिकेशन लॉग की समीक्षा करें
- उपयोगकर्ता अनुभव सत्यापित करें
#### चरण 5: सत्यापन और दस्तावेज़ीकरण```bash
# Final assessment of all hosts
ansible-playbook -i inventory quickstart.yml
दस्तावेज़:
Total hosts scanned: 50 Vulnerable hosts: 0
All hosts protected with defense-in-depth mitigations
### आपातकालीन प्रतिक्रिया कार्यप्रवाह
**सक्रिय रूप से शोषित** सिस्टम या **तत्काल खतरों** के लिए:```bash
# Immediate assessment and remediation
ansible-playbook -i inventory quickstart.yml -e apply_remediation=true -e mitigation_flags=3
# Re-verify all hosts
ansible-playbook -i inventory quickstart.yml
इस दृष्टिकोण का उपयोग करें जब:
सावधानी: यह सभी कमजोर होस्ट्स पर एक साथ मिटिगेशन लागू करता है। बारीकी से निगरानी करें।
चालू अनुपालन और नए सिस्टम का पता लगाने के लिए:```bash
0 2 * * 0 ansible-playbook -i inventory quickstart.yml -e generate_inventory=true
**इसके साथ एकीकृत करें**:
- कॉन्फ़िगरेशन प्रबंधन डेटाबेस (CMDB)
- सुरक्षा सूचना और इवेंट प्रबंधन (SIEM)
- उपचार ट्रैकिंग के लिए टिकटिंग सिस्टम
### कस्टम उपचार कार्यप्रवाह
Flag 3 से परे **विशिष्ट आवश्यकताओं** के लिए:```bash
# Use enhanced protection (Flag 7: Blacklist + SELinux + seccomp)
ansible-playbook -i inventory quickstart.yml \
-e apply_remediation=true \
-e mitigation_flags=7
# Or customize per-host via inventory
# Edit generated host_vars/*.yml files to set custom flags
vim vulnerable_hosts/host_vars/web1.example.com.yml
# Change: recommended_mitigation_flags: 7
# Apply customized settings
ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml \
-e apply_remediation=true
उपचार के बाद, सुरक्षा सत्यापित करें:```bash
sudo lsmod | grep algif_aead
sudo modprobe algif_aead
cat /etc/modprobe.d/blacklist-algif_aead-cve-2026-31431.conf
sudo semodule -l | grep cve_2026_31431
systemctl show httpd | grep RestrictAddressFamilies
---
## त्वरित आरंभ
उन उपयोगकर्ताओं के लिए जो तुरंत शुरू करना चाहते हैं:
### सबसे सरल उपयोग```bash
# Clone repository
git clone https://github.com/parmstro/cfDr.git
cd cfDr
# Step 1: Assess all hosts
ansible-playbook -i inventory quickstart.yml
# Step 2: Apply recommended mitigations to vulnerable hosts
ansible-playbook -i inventory quickstart.yml --limit vulnerable_hosts -e apply_remediation=true
ansible-playbook -i /path/to/your/inventory quickstart.yml
ansible-playbook -i /path/to/your/inventory quickstart.yml
--limit vulnerable_hosts
-e apply_remediation=true
### भेद्यता सूची तैयार करना```bash
# Scan and create inventory of vulnerable hosts
ansible-playbook -i inventory quickstart.yml -e generate_inventory=true
# Review generated files
ls inventory_output/
# Apply mitigations using generated inventory
ansible-playbook -i inventory_output/vulnerable_hosts.yml cve_2026_31431_playbook.yml \
-e apply_remediation=true
प्रत्येक प्लेबुक रन के लिए डिफ़ॉल्ट मिटिगेशन ओवरराइड करें:
---```bash
ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=1
ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=2
ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=3
ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=7
ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=15
### SELinux डोमेन को कस्टमाइज़ करना
`roles/cve_2026_31431/defaults/main.yml` को संपादित करें:```yaml
# Add additional domains to protect
selinux_denied_domains:
- user_t
- unconfined_t
- httpd_t
- postgresql_t
- mysqld_t
- custom_app_t # Your custom domain
- another_service_t
roles/cve_2026_31431/defaults/main.yml संपादित करें:```yaml
seccomp_protected_services:
### कस्टम इन्वेंट्री आउटपुट निर्देशिका```bash
# Specify custom output location
ansible-playbook quickstart.yml \
-e generate_inventory=true \
-e inventory_output_dir=/path/to/output
sample_playbook.yml में कई उदाहरण शामिल हैं:```yaml
### आवश्यकताएँ
- **Ansible**: 2.9 या उच्चतर (2.15+ अनुशंसित)
- **विशेषाधिकार प्राप्त पहुँच**: लक्ष्य होस्ट पर sudo/root
- **Python**: लक्ष्य होस्ट पर 2.7 या 3.5+
- **समर्थित OS**: Red Hat Enterprise Linux, CentOS, Fedora (Debian/Ubuntu सीमित समर्थन)
---
## अतिरिक्त संसाधन
### CVE जानकारी और विश्लेषण
**आधिकारिक स्रोत**:
- [NVD - CVE-2026-31431](https://nvd.nist.gov/vuln/detail/CVE-2026-31431)
- [MITRE CVE प्रविष्टि](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-31431)
**सुरक्षा अनुसंधान और विश्लेषण**:
- [Sysdig - CVE-2026-31431 विश्लेषण](https://www.sysdig.com/blog/cve-2026-31431-copy-fail-linux-kernel-flaw-lets-local-users-gain-root-in-seconds)
- [The Hacker News - Copy Fail भेद्यता](https://thehackernews.com/2026/04/new-linux-copy-fail-vulnerability.html)
- [CERT-EU सुरक्षा सलाह](https://cert.europa.eu/publications/security-advisories/2026-005/)
- [Help Net Security - Copy Fail विवरण](https://www.helpnetsecurity.com/2026/04/30/copyfail-linux-lpe-vulnerability-cve-2026-31431/)
### संबंधित शमन परियोजनाएँ
CVE-2026-31431 शमन में सामुदायिक योगदान:
- **[block-copyfail](https://github.com/atgreen/block-copyfail)** - Anthony Green द्वारा eBPF LSM कार्यान्वयन
- व्यापक eBPF-आधारित शमन
- आधुनिक कर्नेल के लिए सिस्टम-व्यापी सुरक्षा
- cfDr के eBPF कार्यान्वयन का स्रोत
- **[Blastwall](https://gprocunier.github.io/blastwall/demo.html)** - Greg Procunier द्वारा SELinux नीति ढाँचा
- उन्नत SELinux नीति प्रबंधन
- बहु-CVE सुरक्षा ढाँचा
- cfDr के SELinux कार्यान्वयन का स्रोत
### Red Hat विशिष्ट संसाधन
**ज्ञान आधार लेख**:
- [Red Hat ग्राहक पोर्टल - CVE-2026-31431](https://access.redhat.com/security/cve/cve-2026-31431)
- [Red Hat सुरक्षा डेटा - प्रभावित उत्पाद](https://access.redhat.com/security/data/metrics/)
**शमन मार्गदर्शिकाएँ**:
- [Enterprise Linux के लिए SELinux - उपयोगकर्ता मार्गदर्शिका](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/using_selinux/)
- [systemd सुरक्षा सुविधाएँ](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/securing-systemd-services_system-management-using-the-rhel-9-web-console)
### दस्तावेज़ीकरण
**cfDr विस्तारित दस्तावेज़ीकरण**:
- [Enterprise Linux शमन मार्गदर्शिका](https://github.com/parmstro/cfdr/blob/HEAD/enterprise-linux-mitigations.md) - सभी शमन विधियों की व्यापक तुलना
- [SELinux शमन मार्गदर्शिका](https://github.com/parmstro/cfdr/blob/HEAD/selinux-mitigation.md) - विस्तृत SELinux नीति कार्यान्वयन
- [seccomp शमन मार्गदर्शिका](https://github.com/parmstro/cfdr/blob/HEAD/seccomp-mitigation.md) - systemd seccomp फ़िल्टर कार्यान्वयन
- [eBPF LSM शमन मार्गदर्शिका](https://github.com/parmstro/cfdr/blob/HEAD/ebpf-lsm-mitigation.md) - eBPF LSM प्रोग्राम कार्यान्वयन
- [docs/CONTRIBUTORS.md](https://github.com/parmstro/cfdr/blob/HEAD/CONTRIBUTORS.md) - योगदान दिशानिर्देश और श्रेय
**Ansible दस्तावेज़ीकरण**:
- [Ansible उपयोगकर्ता मार्गदर्शिका](https://docs.ansible.com/ansible/latest/user_guide/)
- [Ansible सर्वोत्तम अभ्यास](https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html)
---
## पैच के लिए निगरानी
### Red Hat Enterprise Linux
**प्राथमिक स्रोत**: Red Hat ग्राहक पोर्टल
- **सुरक्षा सलाह**: https://access.redhat.com/security/security-updates/
- **Errata सलाह**: https://access.redhat.com/errata/
- **CVE ट्रैकर**: https://access.redhat.com/security/cve/cve-2026-31431
**अधिसूचना विधियाँ**:
1. **ईमेल अलर्ट** (अनुशंसित):
- Red Hat ग्राहक पोर्टल में लॉग इन करें
- नेविगेट करें: खाता सेटिंग्स → अधिसूचनाएँ
- सक्षम करें: "सुरक्षा सलाह" और "उत्पाद Errata"
- चुनें: आपके द्वारा प्रबंधित RHEL संस्करण
2. **RSS फ़ीड**:
- RHEL 7 सुरक्षा: https://access.redhat.com/blogs/766093/feed
- RHEL 8 सुरक्षा: https://access.redhat.com/blogs/1683903/feed
- RHEL 9 सुरक्षा: https://access.redhat.com/blogs/5480361/feed
- सभी सुरक्षा: https://access.redhat.com/security/data/oval/com.redhat.rhsa-all.xml
3. **API पहुँच**: ```bash
# Check for kernel security updates
curl -H "Accept: application/json" \
"https://access.redhat.com/labs/securitydataapi/cve/CVE-2026-31431.json"
स्वचालित निगरानी: ```bash
sudo yum install yum-plugin-security
sudo yum updateinfo list security
sudo yum updateinfo list security kernel
क्या देखना है:
एडवाइज़री प्रारूप का उदाहरण:``` RHSA-2026:XXXX - Important: kernel security update Severity: Important CVEs: CVE-2026-31431 Affected Products: RHEL 7, 8, 9
### CentOS / Rocky Linux / AlmaLinux
**CentOS Stream**:
- **घोषणाएँ**: https://lists.centos.org/pipermail/centos-announce/
- **सुरक्षा मेलिंग सूची**: https://lists.centos.org/mailman/listinfo/centos-security-announce
**Rocky Linux**:
- **सुरक्षा ट्रैकर**: https://errata.rockylinux.org/
- **घोषणाएँ**: https://rockylinux.org/news/
**AlmaLinux**:
- **एराटा**: https://errata.almalinux.org/
- **सुरक्षा**: https://wiki.almalinux.org/security/
### Fedora
**प्राथमिक स्रोत**: Fedora प्रोजेक्ट
- **अपडेट सिस्टम**: https://bodhi.fedoraproject.org/
- **सुरक्षा सूची**: https://lists.fedoraproject.org/archives/list/[email protected]/
**अधिसूचना विधियाँ**:```bash
# Subscribe to security announcements
# Visit: https://lists.fedoraproject.org/admin/lists/security-announce.lists.fedoraproject.org/
# Check for updates
sudo dnf check-update kernel
# View available security updates
sudo dnf updateinfo list security
प्राथमिक स्रोत: Ubuntu सुरक्षा सूचनाएँ
अधिसूचना विधियाँ:```bash
sudo apt update sudo apt list --upgradable | grep security
sudo apt install ubuntu-security-tools usn list --cve CVE-2026-31431
### Debian
**प्राथमिक स्रोत**: Debian Security Tracker
- **सुरक्षा ट्रैकर**: https://security-tracker.debian.org/tracker/CVE-2026-31431
- **सुरक्षा घोषणाएँ**: https://www.debian.org/security/
**अधिसूचना विधियाँ**:```bash
# Subscribe to Debian Security Announcements
# Visit: https://lists.debian.org/debian-security-announce/
# Check for security updates
sudo apt update
sudo apt list --upgradable
प्राथमिक स्रोत: SUSE Security
अधिसूचना विधियाँ:```bash
sudo zypper list-patches --category security
sudo zypper info --cve CVE-2026-31431
### अपस्ट्रीम कर्नेल
**लिनक्स कर्नेल मेलिंग लिस्ट**:
- **LKML आर्काइव्स**: https://lkml.org/
- **सुरक्षा सूची**: https://www.kernel.org/category/releases.html
**Git रिपॉजिटरी**:```bash
# Monitor kernel git for patches
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
# Search for CVE-2026-31431 patches
git log --all --grep="CVE-2026-31431"
अपने वातावरण के लिए एक निगरानी स्क्रिप्ट बनाएं:```bash #!/bin/bash
DISTRO=$(grep ^ID= /etc/os-release | cut -d= -f2 | tr -d '"')
case $DISTRO in rhel|centos|rocky|alma) yum updateinfo list security kernel 2>/dev/null | grep -i CVE-2026-31431 ;; fedora) dnf updateinfo list security kernel 2>/dev/null | grep -i CVE-2026-31431 ;; ubuntu|debian) apt-get update -qq apt-cache show linux-image-$(uname -r) | grep CVE-2026-31431 ;; sles|opensuse*) zypper info --cve CVE-2026-31431 kernel-default ;; esac
curl -s "https://access.redhat.com/labs/securitydataapi/cve/CVE-2026-31431.json" |
jq -r '.affected_release[] | select(.package | startswith("kernel")) |
"(.product_name): (.advisory) - (.package)"'
**क्रॉन के साथ शेड्यूल करें**:```bash
# Check daily for patches
0 6 * * * /usr/local/bin/check-cve-2026-31431-patch.sh | mail -s "CVE-2026-31431 Patch Check" [email protected]
पैच की उपलब्धता सत्यापित करें: ```bash
sudo yum check-update kernel # RHEL/CentOS/Fedora sudo apt update && apt list --upgradable linux-image-* # Ubuntu/Debian
रिलीज़ नोट्स की समीक्षा करें:
गैर-उत्पादन में परीक्षण करें: ```bash
sudo yum update kernel # RHEL/CentOS/Fedora sudo apt upgrade linux-image-* # Ubuntu/Debian sudo reboot
पैच की प्रभावशीलता सत्यापित करें: ```bash
uname -r
ansible-playbook -i inventory quickstart.yml
उत्पादन रोलआउट की योजना बनाएं:
अस्थायी शमन उपाय हटाएं (वैकल्पिक): ```bash
sudo rm /etc/modprobe.d/blacklist-algif_aead-cve-2026-31431.conf sudo semodule -r cve_2026_31431_af_alg_deny # SELinux policy
अनुशंसा: कर्नेल पैचिंग के बाद भी, भविष्य की कमजोरियों से सुरक्षा के लिए गहराई से बचाव (defense-in-depth) शमन उपायों को बनाए रखने पर विचार करें।
कोई बग मिला या कोई फीचर अनुरोध है?
हम योगदान का स्वागत करते हैं! docs/CONTRIBUTORS.md देखें:
cfDr सुरक्षा पेशेवरों की सामूहिक विशेषज्ञता पर आधारित है:
पूर्ण योगदान विवरण के लिए docs/CONTRIBUTORS.md देखें।
यह परियोजना भेद्यता मूल्यांकन और सुधार उद्देश्यों के लिए MIT लाइसेंस के तहत प्रदान की गई है।
विवरण के लिए LICENSE देखें।
महत्वपूर्ण: यह उपकरण विक्रेता-आपूर्ति कर्नेल पैच की प्रतीक्षा करते समय अस्थायी शमन उपाय प्रदान करता है। ये शमन उपाय जोखिम को काफी हद तक कम करते हैं लेकिन सभी परिदृश्यों में पूर्ण सुरक्षा प्रदान नहीं कर सकते हैं।
cfDr "जैसा है" बिना किसी वारंटी के प्रदान किया गया है। हमेशा:
cfDr के योगदानकर्ता और अनुरक्षक इस उपकरण के उपयोग से होने वाली किसी भी क्षति या डेटा हानि के लिए जिम्मेदार नहीं हैं।
अंतिम अद्यतन: 2026-05-02T23:30:00Z