Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

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

7منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

cifswitch-check

أداة تحقق عبر شيل للتحقق ما إذا كان نظام لينكس معرضًا لثغرة CIFSwitch (CVE-2026-46243) — ثغرة رفع صلاحيات محلية في عميل CIFS/SMB لنواة لينكس موجودة منذ عام 2007.

تعمل على المضيفات الفعلية، والآلات الافتراضية، وداخل الحاويات. مصممة للاندماج المباشر في أنابيب CI/CD.


خلفية

تم الإفصاح عن CIFSwitch في 28 مايو 2026 من قبل الباحث الأمني Asim Manizada. الثغرة تجمع بين التحقق المفقود من صحة الإدخال في نوع المفتاح cifs.spnego للنواة مع المساعد rootful cifs.upcall من حزمة cifs-utils.

يمكن لمستخدم محلي غير مميز استدعاء 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.


قائمة الفحوصات

الفحصالوصف
KERNEL_VERSIONمقارنة النواة الجارية بالإصدارات المعدلة من المنبع (ملاحظة: حزم التوزيعات لا تزال قيد النشر)
CIFS_UTILSاكتشاف تثبيت cifs-utils وإصدار قابل للاستغلال (>= 6.14)
CIFS_MODULEالتحقق مما إذا كانت وحدة نواة CIFS محملة، أو مبنية داخليًا، أو مدرجة في القائمة السوداء
USERNSقراءة kernel.unprivileged_userns_clone أو user.max_user_namespaces sysctl
REQUESTKEY_RULEالتحقق من وجود قاعدة cifs.spnego نشطة تستدعي cifs.upcall
MAC_POLICYاكتشاف وجود SELinux أو AppArmor قيد التنفيذ (يمنع الاستغلال في التوزيعات المعدلة)
CONTAINER_CAPSفي الحاويات: التحقق من وجود CAP_SYS_ADMIN (يتيح مساحات أسماء غير مقيدة)
CONTAINER_PROCفي الحاويات: التحقق من صلاحية الكتابة في /proc/sys (حاوية مميزة)
FIX_SYMBOLإذا كانت CIFS محملة وكان /proc/kallsyms قابلًا للقراءة: التحقق من وجود رمز الإصلاح

الاستخدام

# Clone or download
curl -O https://raw.githubusercontent.com/liamromanis101/cifswitch-check/main/cifswitch-check.sh
chmod +x cifswitch-check.sh

# Run interactively (coloured output)
./cifswitch-check.sh

# Quiet mode — only FAILs and final verdict
./cifswitch-check.sh --quiet

# JSON output — for CI/CD pipelines, SIEM ingestion
./cifswitch-check.sh --ci

# No colour (plain text, useful for logging)
./cifswitch-check.sh --no-colour

# This script is also available as a SKILL from Agensi:
https://www.agensi.io/skills/cve-2026-46243-cifswitch

رموز الخروج

الرمزالمعنى
0غير معرض للخطر، أو جميع الإجراءات التخفيفية الحرجة مفعلة
1معرض للخطر — فحص واحد أو أكثر فشل
2خطأ في السكربت

مثال للمخرجات

تفاعلي (قابل للقراءة البشرية)

  CIFSwitch Vulnerability Check  (CVE-2026-46243)
  Kernel: 6.18.5   Host: myserver   Container: false
────────────────────────────────────────────────────────────────────────
[FAIL] KERNEL_VERSION         Kernel 6.18.5 appears unpatched. Fixed in: >= 6.18.22, >= 6.19.12, >= 7.0. Update your kernel.
[PASS] CIFS_UTILS             cifs-utils NOT installed — cifs.upcall helper absent, attack chain is broken
[PASS] CIFS_MODULE            CIFS kernel module not present on this system
[FAIL] USERNS                 user.max_user_namespaces = 15980 (non-zero). Disable to block namespace step:
[PASS] REQUESTKEY_RULE        No cifs.spnego request-key rule found — rootful cifs.upcall will not be invoked
[WARN] MAC_POLICY             No enforcing MAC policy (SELinux/AppArmor) detected
[ -- ] FIX_SYMBOL             CIFS module not loaded — symbol check skipped
────────────────────────────────────────────────────────────────────────

  VERDICT: VULNERABLE — remediation required
  Reference: https://heyitsas.im/posts/cifswitch/

JSON (--ci)

{
  "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

- name: CIFSwitch vulnerability check
  run: |
    chmod +x ./cifswitch-check.sh
    ./cifswitch-check.sh --ci | tee cifswitch-result.json
  # Exit code 1 will fail the step if the runner is vulnerable

GitLab CI

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

Jenkins

stage('CIFSwitch Check') {
    steps {
        sh 'chmod +x cifswitch-check.sh && ./cifswitch-check.sh --ci > cifswitch-result.json'
        archiveArtifacts artifacts: 'cifswitch-result.json'
    }
}

الإجراءات التخفيفية (إذا كان التصحيح غير ممكن فورًا)

1. قم بتصحيح النواة (عند توفر حزمة التوزيعة الخاصة بك)

الإصلاح من المنبع هو الـ commit 3da1fdf4efbc، وتم إدراجه في النواة المستقرة للإصدارات >= 6.18.22 و >= 6.19.12 و >= 7.0. يتم الآن نشر التصحيحات الخلفية للتوزيعات — تحقق من النشرة الأمنية للموزع الخاص بك بخصوص CVE-2026-46243. إلى أن تتوفر حزمة، طبق الإجراءات التخفيفية أدناه.

2. قم بإزالة cifs-utils (يكسر سلسلة الهجوم بالكامل إذا كنت لا تستخدم نقاط تحميل CIFS/SMB)

apt remove cifs-utils       # Debian / Ubuntu
dnf remove cifs-utils       # RHEL / Fedora / AlmaLinux

2. قم بتعطيل مساحات أسماء المستخدمين غير المميزة (يمنع خطوة التنقل بين مساحات الأسماء)

# 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 request-key

sed -i 's|^create cifs.spnego|#create cifs.spnego|' /etc/request-key.d/cifs.spnego.conf

4. قم بإدراج وحدة نواة CIFS في القائمة السوداء (إذا لم تكن نقاط تحميل الشبكة SBM قيد الاستخدام)

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 وعدة إصدارات من Ubuntu/Debian مع وجود cifs-utils.

التوزيعات التي تمنع فيها سياسات 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 تفتقر إلى مفتاح مساحة الاسم).

تنزيل الأداة