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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cifswitch-check — CIFSwitch के लिए डिटेक्शन स्क्रिप्ट - CVE-2026-46243 | Kitploit
उपकरण/GitHubGitHub/liamromanis101/cifswitch-check
विशेषाधिकार वृद्धिभेद्यता स्कैनरकंटेनर सुरक्षाभेद्यता विश्लेषणशोषणस्क्रिप्टिंग और स्वचालनकॉन्फ़िगरेशन ऑडिटिंगक्लाउड सुरक्षाDevSecOps
GitHubliamromanis101/cifswitch-check

cifswitch-check

CIFSwitch के लिए डिटेक्शन स्क्रिप्ट - CVE-2026-46243

23 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

cifswitch-check

एक शेल स्क्रिप्ट जो यह जाँचने के लिए है कि क्या कोई लिनक्स सिस्टम CIFSwitch (CVE-2026-46243) — लिनक्स कर्नेल के CIFS/SMB क्लाइंट में 2007 से मौजूद एक स्थानीय विशेषाधिकार वृद्धि भेद्यता — के संपर्क में है।

बेयर-मेटल होस्ट, VM, और कंटेनरों के अंदर चलता है। सीधे CI/CD पाइपलाइनों में डालने के लिए डिज़ाइन किया गया है।


पृष्ठभूमि

CIFSwitch को 28 मई 2026 को सुरक्षा शोधकर्ता Asim Manizada द्वारा खुलासा किया गया था। यह खामी कर्नेल के cifs.spnego कुंजी प्रकार में इनपुट सत्यापन की कमी को cifs-utils से रूटफुल cifs.upcall हेल्पर के साथ जोड़ती है।

एक अनप्रिविलेज्ड स्थानीय उपयोगकर्ता गढ़े गए कुंजी विवरण के साथ request_key() को कॉल कर सकता है, जिससे कर्नेल cifs.upcall को रूट के रूप में हमलावर-नियंत्रित फ़ील्ड के साथ लागू करता है। upcall_target=app के साथ, हेल्पर हमलावर के माउंट नेमस्पेस में प्रवेश करता है और विशेषाधिकार छोड़ने से पहले एक getpwuid() लुकअप करता है — एक हमलावर-नियंत्रित NSS मॉड्यूल लोड करता है और रूट के रूप में मनमाना कोड निष्पादित करता है।

शोषण के लिए पूर्वापेक्षाएँ:

  • एक असुरक्षित कर्नेल (2007 से मौजूद, 6.18.22 / 6.19.12 / 7.0+ में ठीक किया गया)
  • cifs-utils >= 6.14 स्थापित
  • अनप्रिविलेज्ड उपयोगकर्ता नेमस्पेस सक्षम (अधिकांश डिस्ट्रो पर डिफ़ॉल्ट)
  • पथ को अवरुद्ध करने वाली कोई प्रवर्तन SELinux/AppArmor नीति नहीं

एक सार्वजनिक PoC manizada/CIFSwitch पर उपलब्ध है।


यह क्या जाँचता है


उपयोग

root@kitploit:~
# क्लोन या डाउनलोड करें
curl -O https://raw.githubusercontent.com/liamromanis101/cifswitch-check/main/cifswitch-check.sh
chmod +x cifswitch-check.sh

# इंटरैक्टिव रूप से चलाएँ (रंगीन आउटपुट)
./cifswitch-check.sh

# मौन मोड — केवल FAIL और अंतिम फैसला
./cifswitch-check.sh --quiet

# JSON आउटपुट — CI/CD पाइपलाइनों, SIEM अंतर्ग्रहण के लिए
./cifswitch-check.sh --ci

# कोई रंग नहीं (सादा पाठ, लॉगिंग के लिए उपयोगी)
./cifswitch-check.sh --no-colour

# यह स्क्रिप्ट Agensi से SKILL के रूप में भी उपलब्ध है:
https://www.agensi.io/skills/cve-2026-46243-cifswitch

निकास कोड

कोडअर्थ
0असुरक्षित नहीं, या सभी महत्वपूर्ण शमन उपाय मौजूद हैं
1असुरक्षित — एक या अधिक FAIL जाँच
2स्क्रिप्ट त्रुटि

उदाहरण आउटपुट

इंटरैक्टिव (मानव-पठनीय)

root@kitploit:~
  CIFSwitch भेद्यता जाँच  (CVE-2026-46243)
  कर्नेल: 6.18.5   होस्ट: myserver   कंटेनर: false
────────────────────────────────────────────────────────────────────────
[FAIL] KERNEL_VERSION         कर्नेल 6.18.5 अपैच्ड प्रतीत होता है। ठीक किया गया: >= 6.18.22, >= 6.19.12, >= 7.0 में। अपना कर्नेल अपडेट करें।
[PASS] CIFS_UTILS             cifs-utils स्थापित नहीं — cifs.upcall हेल्पर अनुपस्थित, हमला श्रृंखला टूट गई
[PASS] CIFS_MODULE            इस सिस्टम पर CIFS कर्नेल मॉड्यूल मौजूद नहीं
[FAIL] USERNS                 user.max_user_namespaces = 15980 (शून्येतर)। नेमस्पेस चरण को अवरुद्ध करने के लिए अक्षम करें:
[PASS] REQUESTKEY_RULE        कोई cifs.spnego अनुरोध-कुंजी नियम नहीं मिला — rootful cifs.upcall लागू नहीं किया जाएगा
[WARN] MAC_POLICY             कोई प्रवर्तन MAC नीति (SELinux/AppArmor) का पता नहीं चला
[ -- ] FIX_SYMBOL             CIFS मॉड्यूल लोड नहीं — प्रतीक जाँच छोड़ी गई
────────────────────────────────────────────────────────────────────────

  फैसला: असुरक्षित — उपचार आवश्यक
  संदर्भ: https://heyitsas.im/posts/cifswitch/

JSON (--ci)

root@kitploit:~
{
  "scanner": "cifswitch-check",
  "cve": "CVE-2026-46243",
  "timestamp": "2026-06-03T00:10:08Z",
  "hostname": "myserver",
  "kernel": "6.18.5",
  "in_container": false,
  "overall": "FAIL",
  "checks": [
    {"check": "KERNEL_VERSION", "status": "FAIL", "detail": "Kernel 6.18.5 appears unpatched. Fixed in: >= 6.18.22, >= 6.19.12, >= 7.0. Update your kernel."},
    {"check": "CIFS_UTILS",     "status": "PASS", "detail": "cifs-utils NOT installed — cifs.upcall helper absent, attack chain is broken"},
    {"check": "CIFS_MODULE",    "status": "PASS", "detail": "CIFS kernel module not present on this system"},
    {"check": "USERNS",         "status": "FAIL", "detail": "user.max_user_namespaces = 15980 (non-zero). Disable to block namespace step:"},
    {"check": "REQUESTKEY_RULE","status": "PASS", "detail": "No cifs.spnego request-key rule found — rootful cifs.upcall will not be invoked"},
    {"check": "MAC_POLICY",     "status": "WARN", "detail": "No enforcing MAC policy (SELinux/AppArmor) detected"},
    {"check": "FIX_SYMBOL",     "status": "INFO", "detail": "CIFS module not loaded — symbol check skipped"}
  ]
}

CI/CD एकीकरण

GitHub Actions

root@kitploit:~
- name: CIFSwitch भेद्यता जाँच
  run: |
    chmod +x ./cifswitch-check.sh
    ./cifswitch-check.sh --ci | tee cifswitch-result.json
  # निकास कोड 1 चरण को विफल कर देगा यदि रनर असुरक्षित है

GitLab CI

root@kitploit:~
cifswitch-check:
  stage: security
  script:
    - chmod +x cifswitch-check.sh
    - ./cifswitch-check.sh --ci > cifswitch-result.json
  artifacts:
    paths:
      - cifswitch-result.json

Jenkins

root@kitploit:~
stage('CIFSwitch जाँच') {
    steps {
        sh 'chmod +x cifswitch-check.sh && ./cifswitch-check.sh --ci > cifswitch-result.json'
        archiveArtifacts artifacts: 'cifswitch-result.json'
    }
}

शमन (यदि पैचिंग तुरंत संभव नहीं है)

1. अपने कर्नेल को पैच करें (जब आपका डिस्ट्रो पैकेज उपलब्ध हो)

अपस्ट्रीम फिक्स कमिट 3da1fdf4efbc है, जो कर्नेल >= 6.18.22, >= 6.19.12, और >= 7.0 में स्थिर के लिए कतारबद्ध है। डिस्ट्रो बैकपोर्ट सक्रिय रूप से जारी हो रहे हैं — CVE-2026-46243 के लिए अपने विक्रेता की सुरक्षा सलाह देखें। जब तक कोई पैकेज उपलब्ध न हो, नीचे दिए गए शमन लागू करें।

2. cifs-utils हटाएँ (यदि आप CIFS/SMB माउंट का उपयोग नहीं करते हैं तो हमला श्रृंखला पूरी तरह से टूट जाती है)

root@kitploit:~
apt remove cifs-utils       # Debian / Ubuntu
dnf remove cifs-utils       # RHEL / Fedora / AlmaLinux

2. अनप्रिविलेज्ड उपयोगकर्ता नेमस्पेस अक्षम करें (नेमस्पेस पिवट चरण को अवरुद्ध करता है)

root@kitploit:~
# Debian / Ubuntu
sysctl -w kernel.unprivileged_userns_clone=0
echo 'kernel.unprivileged_userns_clone=0' >> /etc/sysctl.d/99-cifswitch.conf

# RHEL / Fedora / upstream
sysctl -w user.max_user_namespaces=0

⚠️ यह Flatpak, रूटलेस Podman/Docker, और Chrome/Chromium सैंडबॉक्सिंग को तोड़ सकता है।

3. cifs.spnego अनुरोध-कुंजी नियम अक्षम करें

root@kitploit:~
sed -i 's|^create cifs.spnego|#create cifs.spnego|' /etc/request-key.d/cifs.spnego.conf

4. CIFS कर्नेल मॉड्यूल को ब्लैकलिस्ट करें (यदि SMB नेटवर्क माउंट उपयोग में नहीं हैं)

root@kitploit:~
echo 'blacklist cifs' >> /etc/modprobe.d/blacklist-cifs.conf
rmmod cifs 2>/dev/null || true
depmod -a

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

शोषण के लिए cifs-utils >= 6.14 स्थापित और अनप्रिविलेज्ड उपयोगकर्ता नेमस्पेस सक्षम होना आवश्यक है। डिफ़ॉल्ट कॉन्फ़िगरेशन में असुरक्षित सिद्ध वितरणों में AlmaLinux 8/9, RHEL 8/9, CloudLinux 8/9/10, और cifs-utils वाले कई Ubuntu/Debian रिलीज़ शामिल हैं।

जहां डिफ़ॉल्ट SELinux/AppArmor शोषण को रोकता है वे वितरण: Ubuntu 26.04, Fedora 40–44, CentOS Stream 10, Rocky Linux 10, AlmaLinux 10, SLES 16, openSUSE Leap 16।

प्रभावित नहीं: Amazon Linux 2, Kali Linux 2019.4/2020.4 (cifs-utils संस्करणों में नेमस्पेस स्विच का अभाव)।

RHEL/CentOS/Amazon डिस्ट्रो कर्नेल के लिए स्क्रिप्ट विक्रेता सलाह पर निर्भर करती है, क्योंकि बैकपोर्ट स्थिति केवल संस्करण स्ट्रिंग से विश्वसनीय रूप से निर्धारित नहीं की जा सकती।


आवश्यकताएँ

  • bash >= 4.0
  • मानक coreutils (awk, grep, cut, find, sort)
  • अधिकांश जाँचों के लिए रूट की आवश्यकता नहीं; कर्नेल प्रतीक जाँच (FIX_SYMBOL) के लिए रूट (या CAP_SYSLOG) आवश्यक है

संदर्भ

  • मूल शोधकर्ता का लेख — Asim Manizada
  • SecurityWeek कवरेज
  • BleepingComputer कवरेज
  • CloudLinux सलाह और शमन मार्गदर्शिका
  • AlmaLinux सलाह
  • अपस्ट्रीम फिक्स कमिट — 3da1fdf4efbc
  • NVD — CVE-2026-46243

अस्वीकरण

यह स्क्रिप्ट रक्षात्मक उद्देश्यों के लिए प्रदान की गई है — व्यवस्थापकों को एक्सपोज़र का आकलन और उपचार करने में मदद करने के लिए। यह केवल-पढ़ने योग्य जाँच करती है और सिस्टम में कोई बदलाव नहीं करती है। PoC शोषण यहाँ शामिल या लिंक नहीं है; उसके लिए मूल शोधकर्ता की सलाह देखें।

टूल डाउनलोड करें
जाँचविवरण
KERNEL_VERSIONचल रहे कर्नेल की तुलना पैच किए गए अपस्ट्रीम संस्करणों से करता है (नोट: डिस्ट्रो पैकेज अभी भी जारी हो रहे हैं)
CIFS_UTILScifs-utils स्थापना और शोषण योग्य संस्करण (>= 6.14) का पता लगाता है
CIFS_MODULEजाँचता है कि CIFS कर्नेल मॉड्यूल लोड, अंतर्निहित, या ब्लैकलिस्टेड है
USERNSkernel.unprivileged_userns_clone या user.max_user_namespaces sysctl पढ़ता है
REQUESTKEY_RULEcifs.upcall को कॉल करने वाले सक्रिय cifs.spnego नियम की जाँच करता है
MAC_POLICYप्रवर्तन SELinux या AppArmor का पता लगाता है (पैच किए गए डिस्ट्रो पर शोषण को अवरुद्ध करता है)
CONTAINER_CAPSकंटेनरों में: CAP_SYS_ADMIN की जाँच करता है (अप्रतिबंधित userns सक्षम करता है)
CONTAINER_PROCकंटेनरों में: /proc/sys तक लेखन पहुँच की जाँच करता है (विशेषाधिकार प्राप्त कंटेनर)
FIX_SYMBOLयदि CIFS लोड है और /proc/kallsyms पढ़ने योग्य है: फिक्स कमिट प्रतीक की उपस्थिति सत्यापित करता है