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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-31431 — # CVE-2026-31431 के लिए विश्लेषण और शमन मार्गदर्शिका यह Linux कर्नेल के crypto algif_aead सबसिस्टम में एक स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) है, जिसमें RHEL और OpenShift के लिए प्रभाव आकलन शामिल है, साथ ही seccomp और SCC हार्डनिंग भी शामिल है। | Kitploit
उपकरण/GitHubGitHub/slauger/cve-2026-31431
विशेषाधिकार वृद्धिकंटेनर सुरक्षाभेद्यता विश्लेषणशोषणक्लाउड सुरक्षा
GitHubslauger/cve-2026-31431

CVE-2026-31431

# CVE-2026-31431 के लिए विश्लेषण और शमन मार्गदर्शिका यह Linux कर्नेल के crypto algif_aead सबसिस्टम में एक स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) है, जिसमें RHEL और OpenShift के लिए प्रभाव आकलन शामिल है, साथ ही seccomp और SCC हार्डनिंग भी शामिल है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-31431 — "कॉपी फेल"

Linux कर्नेल क्रिप्टो algif_aead सबसिस्टम में लोकल प्रिविलेज एस्केलेशन।

अवलोकन

CVE-2026-31431, जिसे "कॉपी फेल" नाम दिया गया है, Linux कर्नेल के authencesn क्रिप्टोग्राफिक टेम्पलेट (algif_aead) में एक लॉजिक बग है। यह एक अनप्रिविलेज्ड लोकल यूज़र को किसी भी पठनीय फ़ाइल के पेज कैश में नियंत्रित 4-बाइट राइट करने की अनुमति देता है, जिसका उपयोग setuid बाइनरी को संशोधित करके रूट प्राप्त करने के लिए किया जा सकता है।

  • CVSS: 7.8 (उच्च)
  • प्रभावित: 2017 से शिप किए गए सभी मुख्यधारा Linux कर्नेल
  • एक्सप्लॉइट: 732-बाइट Python स्क्रिप्ट — कोई रेस कंडीशन नहीं, कोई कर्नेल-विशिष्ट ऑफसेट नहीं
  • फिक्स: मेनलाइन कमिट a664bf3d603d

टाइमलाइन

तिथिघटना
2026-03-23Linux कर्नेल सुरक्षा टीम को रिपोर्ट किया गया
2026-04-01पैच मेनलाइन में कमिट किया गया
2026-04-22CVE असाइन किया गया
2026-04-29सार्वजनिक खुलासा

प्रभाव मैट्रिक्स

एक्सप्लॉइट के लिए दो चीज़ों की आवश्यकता होती है: एक AF_ALG सॉकेट (सभी seccomp प्रोफाइल में डिफ़ॉल्ट रूप से अनुमत) और एक setuid बाइनरी (जैसे /usr/bin/su)। मुख्य शमन allowPrivilegeEscalation: false है — यह Linux कर्नेल का no_new_privs फ्लैग prctl(PR_SET_NO_NEW_PRIVS, 1) के माध्यम से सेट करता है, जिससे कर्नेल execve() पर setuid/setgid बिट्स को अनदेखा कर देता है। चूंकि एक्सप्लॉइट संशोधित setuid बाइनरी को निष्पादित करने पर निर्भर करता है, यह अंतिम एस्केलेशन चरण को अवरुद्ध करता है।

यह OpenShift-विशिष्ट सुविधा नहीं है — यह वैनिला Kubernetes (Pod Security Standards Restricted), Docker (--security-opt no-new-privileges), और Podman पर समान रूप से काम करता है। OpenShift बस इसे restricted-v2 SCC के माध्यम से डिफ़ॉल्ट रूप से लागू करता है, जबकि अन्य प्लेटफ़ॉर्म को स्पष्ट कॉन्फ़िगरेशन की आवश्यकता होती है।

RHEL 8 / RHEL 9

RHEL 8 और RHEL 9 ऐसे कर्नेल शिप करते हैं जिनमें कमजोर कोड होता है। शेल एक्सेस वाला एक अनप्रिविलेज्ड लोकल यूज़र इसका उपयोग करके रूट प्राप्त कर सकता है। तुरंत पैच करें।

root@kitploit:~
yum updateinfo list cves CVE-2026-31431
yum update kernel

OpenShift (4.x)

OpenShift RHCOS पर चलता है, जो कमजोर कर्नेल शिप करता है। व्यावहारिक प्रभाव वर्कलोड के Security Context Constraints (SCC) पर निर्भर करता है।

डिफ़ॉल्ट restricted-v2 SCC का उपयोग करने वाले मानक वर्कलोड एक्सप्लॉइटेबल नहीं हैं क्योंकि allowPrivilegeEscalation: false लागू किया जाता है।

उन्नत SCC (anyuid, privileged, या allowPrivilegeEscalation: true की अनुमति देने वाले कस्टम SCC) के साथ चलने वाले पॉड कमजोर हैं। इसमें आमतौर पर शामिल हैं:

  • CI/CD बिल्ड पॉड (Jenkins एजेंट, कस्टम SCC के साथ Tekton)
  • anyuid की आवश्यकता वाले लीगेसी एप्लिकेशन
  • इंफ्रास्ट्रक्चर पॉड (मॉनिटरिंग, लॉगिंग, स्टोरेज)

सीधे नोड एक्सेस (जैसे oc debug node/ के माध्यम से) हमेशा कमजोर होता है — मानक लोकल प्रिविलेज एस्केलेशन, कोई कंटेनर आइसोलेशन शामिल नहीं।

परीक्षण

यह जांचने के लिए एक टेस्ट पॉड प्रदान किया गया है कि आपके क्लस्टर में एक्सप्लॉइट पूर्वापेक्षाएँ पूरी होती हैं या नहीं। यह कमजोरी का एक्सप्लॉइट करने का प्रयास नहीं करता — यह केवल जांचता है:

  1. क्या AF_ALG सॉकेट बनाया जा सकता है? (कर्नेल अटैक सतह पहुंच योग्य)
  2. क्या no_new_privs सेट है? (setuid एस्केलेशन को ब्लॉक करता है)
  3. क्या कंटेनर इमेज में setuid बाइनरी मौजूद हैं?
  4. अंतर्निहित नोड का कर्नेल संस्करण

उपयोग (पॉड)

root@kitploit:~
oc apply -f test-pod.yaml
oc logs cve-2026-31431-check
oc delete -f test-pod.yaml

उपयोग (डिप्लॉयमेंट)

कई नोड्स पर परीक्षण के लिए डिप्लॉयमेंट वेरिएंट का उपयोग करें, रेप्लिका स्केल करके या पॉड एंटी-एफिनिटी का उपयोग करके:

root@kitploit:~
oc apply -f test-deployment.yaml
oc logs -l app=cve-2026-31431-check
oc delete -f test-deployment.yaml

एग्ज़िट कोड

कोडअर्थ
0एक्सप्लॉइटेबल नहीं — AF_ALG सॉकेट seccomp द्वारा ब्लॉक किया गया
1आंशिक रूप से एक्सपोज़्ड — AF_ALG पहुंच योग्य लेकिन setuid no_new_privs द्वारा ब्लॉक किया गया
2कमजोर — सभी एक्सप्लॉइट पूर्वापेक्षाएँ पूरी होती हैं

डिफ़ॉल्ट OpenShift पर अपेक्षित परिणाम

restricted-v2 SCC वाले मानक OpenShift क्लस्टर पर, आपको एग्ज़िट कोड 1 (आंशिक रूप से एक्सपोज़्ड) देखना चाहिए: AF_ALG सॉकेट बनाया जा सकता है (RuntimeDefault seccomp इसे ब्लॉक नहीं करता), लेकिन no_new_privs setuid एस्केलेशन चरण को रोकता है। प्रकाशित PoC काम नहीं करेगा, लेकिन कर्नेल-स्तरीय कमजोरी अभी भी पहुंच योग्य है — पैचिंग की अनुशंसा की जाती है।

शमन

1. कर्नेल पैच करें (P0)

यह एकमात्र पूर्ण फिक्स है। सभी नोड्स पर कर्नेल अपडेट करें और रीबूट करें।

OpenShift के लिए, फिक्स शामिल करने वाले RHCOS संस्करण में अपडेट करें और रोलिंग नोड रीबूट करें।

2. algif_aead मॉड्यूल अक्षम करें (अंतरिम वर्कअराउंड)

यदि algif_aead लोडेबल मॉड्यूल (CONFIG_CRYPTO_USER_API_AEAD=m) के रूप में कंपाइल किया गया है:

root@kitploit:~
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true

यह तब काम नहीं करता जब algif_aead बिल्ट-इन (=y) हो, जो RHCOS पर मामला है। इससे जांचें:

root@kitploit:~
modinfo algif_aead 2>&1 | grep builtin
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)

3. seccomp के माध्यम से AF_ALG ब्लॉक करें (OpenShift)

यदि कर्नेल मॉड्यूल बिल्ट-इन है, तो कंटेनरों के लिए एकमात्र प्री-पैच शमन कस्टम seccomp प्रोफाइल के माध्यम से socket(AF_ALG, ...) syscall को ब्लॉक करना है।

MachineConfig के माध्यम से seccomp प्रोफाइल डिप्लॉय करें

सभी नोड्स पर प्रोफाइल रखने के लिए MachineConfig बनाएं (कंट्रोल प्लेन नोड्स के लिए role: master के साथ दोहराएं):

root@kitploit:~
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: worker
  name: 99-worker-seccomp-deny-af-alg
spec:
  config:
    ignition:
      version: 3.2.0
    storage:
      files:
        - path: /var/lib/kubelet/seccomp/deny-af-alg.json
          mode: 0644
          contents:
            source: data:application/json;charset=utf-8;base64,ewogICJkZWZhdWx0QWN0aW9uIjogIlNDTVBfQUNUX0FMTE9XIiwKICAic3lzY2FsbHMiOiBbCiAgICB7CiAgICAgICJuYW1lcyI6IFsic29ja2V0Il0sCiAgICAgICJhY3Rpb24iOiAiU0NNUF9BQ1RfRVJSTk8iLAogICAgICAiYXJncyI6IFsKICAgICAgICB7CiAgICAgICAgICAiaW5kZXgiOiAwLAogICAgICAgICAgInZhbHVlIjogMzgsCiAgICAgICAgICAib3AiOiAiU0NNUF9DTVBfRVEiCiAgICAgICAgfQogICAgICBdCiAgICB9CiAgXQp9

बेस64 सामग्री इस प्रकार डिकोड होती है:

root@kitploit:~
{
  "defaultAction": "SCMP_ACT_ALLOW",
  "syscalls": [
    {
      "names": ["socket"],
      "action": "SCMP_ACT_ERRNO",
      "args": [
        {
          "index": 0,
          "value": 38,
          "op": "SCMP_CMP_EQ"
        }
      ]
    }
  ]
}

नोट: MachineConfig लागू करने से रोलिंग नोड रीबूट ट्रिगर होता है।

पॉड स्पेक्स में प्रोफाइल का संदर्भ दें

root@kitploit:~
securityContext:
  seccompProfile:
    type: Localhost
    localhostProfile: deny-af-alg.json

क्लस्टर-व्यापी विकल्प

पॉड स्पेक्स को संशोधित किए बिना सभी कंटेनरों की सुरक्षा के लिए, मौजूदा प्रोफाइल में AF_ALG फ़िल्टर नियम जोड़कर MachineConfig के माध्यम से CRI-O डिफ़ॉल्ट seccomp प्रोफाइल (/etc/crio/seccomp.json) को ओवरराइड करें।

4. अपने SCC की ऑडिट करें

उन्नत विशेषाधिकारों के साथ चलने वाले पॉड की पहचान करें:

root@kitploit:~
# restricted-v2 का उपयोग नहीं करने वाले पॉड खोजें
oc get pods -A -o json | jq -r '
  .items[] |
  select(.metadata.annotations["openshift.io/scc"] != "restricted-v2") |
  "\(.metadata.namespace)/\(.metadata.name) → \(.metadata.annotations["openshift.io/scc"])"
'

ये वे पॉड हैं जहां पूरी एक्सप्लॉइट चेन काम करती है। इन वर्कलोड को चलाने वाले नोड्स के लिए पैचिंग या seccomp शमन को प्राथमिकता दें।

AF_ALG अक्षम करने का प्रभाव

AF_ALG सॉकेट को ब्लॉक करने का अधिकांश वर्कलोड पर नगण्य प्रभाव होता है। निम्नलिखित प्रभावित नहीं हैं:

  • dm-crypt / LUKS
  • kTLS
  • IPsec
  • OpenSSL / GnuTLS (मानक बिल्ड)

केवल वे एप्लिकेशन प्रभावित होंगे जो स्पष्ट रूप से OpenSSL afalg इंजन का उपयोग करने के लिए कॉन्फ़िगर किए गए हैं।

संदर्भ

  • कॉपी फेल — प्रोजेक्ट पेज
  • Red Hat CVE-2026-31431
  • NVD — CVE-2026-31431
  • RuntimeDefault AF_ALG को ब्लॉक नहीं करता (juliet.sh)
  • Xint — कॉपी फेल राइट-अप
  • The Register — Linux क्रिप्टोग्राफिक कोड दोष
टूल डाउनलोड करें
वातावरणallowPrivilegeEscalationकंटेनर रूटहोस्ट रूटजोखिम
RHEL 8 / RHEL 9 (लोकल यूज़र)n/an/aहाँगंभीर
OpenShift नोड (शेल एक्सेस, जैसे oc debug node/)n/an/aहाँगंभीर
OpenShift पॉड — restricted-v2 SCC (डिफ़ॉल्ट)falseनहींनहींकम
OpenShift पॉड — anyuid SCCtrueहाँनहीं (नेमस्पेस आइसोलेशन)उच्च
OpenShift पॉड — privileged SCCtrueहाँहाँ (कोई आइसोलेशन नहीं)गंभीर
OpenShift पॉड — कस्टम SCCनिर्भर करता हैनिर्भर करता हैनिर्भर करता हैऑडिट
Kubernetes पॉड — PSS Restrictedfalseनहींनहींकम
Kubernetes पॉड — PSS Baseline / कोई नीति नहींtrue (डिफ़ॉल्ट)हाँनहींउच्च
Docker / Podman — --security-opt no-new-privilegesfalseनहींनहींकम
Docker / Podman — डिफ़ॉल्टtrueहाँनहींउच्च