Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-23416-POC — POC لـ CVE-2026-23416 (linux kernel 6.17 – linux kernel 7 rc5) - ثغرة اكتشفها أنطونيوس | Kitploit
أدوات/GitHubGitHub/bluedragonsecurity/cve-2026-23416-poc
تحليل الثغرات الأمنيةالاستغلالالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائية
GitHubbluedragonsecurity/cve-2026-23416-poc

CVE-2026-23416-POC

POC لـ CVE-2026-23416 (linux kernel 6.17 – linux kernel 7 rc5) - ثغرة اكتشفها أنطونيوس

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
81منذ 3 أشهرلم تتم المراجعة بعد

CVE-2026-23416 — PoC

mm/mseal: تحديث نهاية VMA بشكل صحيح عند الدمج

تم اكتشاف الثغرة بواسطة Antonius / Blue Dragon Security


نظرة عامة

الحقلالتفاصيل
معرف CVECVE-2026-23416
النظام الفرعيmm/mseal — mm/vma.c
المتأثرنواة لينكس 6.17 حتى 7.0-rc5
تم الإصلاح فيالنواة 7.0-rc6، الإصدارات المستقرة الخلفية 6.18.21، 6.19.11
الوصول المطلوبمستخدم بدون صلاحيات (UID 1000، بدون قدرات)
استدعاءات النظام المستخدمةmemfd_create, mmap, mseal
قابلية التكرار100% حتمي، أقل من ثانية
تاريخ الحجز2026-01-13
تاريخ النشر2026-04-02

وصف الثغرة

يقع الخطأ في mseal_apply() داخل mm/mseal.c. عند التكرار على VMAs لتطبيق استدعاء النظام mseal(2)، تتعقب الدالة الموضع باستخدام curr_start و curr_end:

root@kitploit:~
/* Simplified pre-fix logic */
curr_end = vma->vm_end;
/* ... process VMA ... */
curr_start = curr_end;  /* advance to next VMA */

المشكلة: يمكن لـ vma_modify_flags() — التي تُستدعى أثناء التكرار — أن تدمج VMAs، مما يغير vma->vm_end في مكانه. هذا يجعل قيمة curr_end التي تم التقاطها قبل الدمج قديمة. في التكرار التالي، يتم تعيين curr_start إلى curr_end القديمة، مما ينتج عنوان بداية غير صحيح.

في نوى التصحيح (CONFIG_DEBUG_VM)، تؤدي حالة vmg غير المتسقة إلى:

root@kitploit:~
VM_WARN_ON_VMG(middle &&
    ((middle != prev && vmg->start != middle->vm_start) ||
     vmg->end > middle->vm_end))

عند mm/vma.c:830، مما ينتج تحذير kernel WARNING.

في نوى الإنتاج (حيث يتم تحويل WARN إلى no-op)، يستمر curr_start القديم بصمت — مما يعني أنه قد يتم تطبيق VM_SEALED على نطاق عنوان غير صحيح دون أي خطأ مرئي، مما يقوض ضمان الأمان الذي صمم mseal(2) لتوفيره.

مسار الاستدعاء

root@kitploit:~
mseal(2)
  └─ do_mseal()              [mm/mseal.c]
       └─ mseal_apply()
            └─ vma_modify_flags()   [mm/vma.c]
                 └─ vma_modify()
                      └─ vma_merge_existing_range()
                           └─ VM_WARN_ON_VMG fires at line 830

السبب الجذري

root@kitploit:~
/* BEFORE fix — mm/mseal.c mseal_apply() */
curr_end = vma->vm_end;           // captured here
/* ... vma_modify_flags() may merge VMAs, changing vma->vm_end ... */
curr_start = curr_end;            // stale! merge is not reflected

يقوم الإصلاح بتعيين curr_end = vma->vm_end بشكل غير مشروط في كل تكرار بعد أي دمج محتمل، ويضيف أيضًا تقييد curr_start/curr_end كقيم const مستمدة من النطاق المدخل وحدود VMA:

root@kitploit:~
/* AFTER fix */
curr_end = vma->vm_end;           // unconditional, always fresh

تخطيط VMA أثناء التشغيل

يقوم نموذج PoC ببناء التخطيط التالي قبل استدعاء mseal() الثاني:

root@kitploit:~
[0x21da6000 - 0x21de5fff]  VMA-A  (fd2, MAP_SHARED|MAP_FIXED) ← مختوم بـ VM_SEALED بعد الخطوة 1
[0x21de6000 - 0x21e82fff]  VMA-B  (fd2, MAP_SHARED|MAP_FIXED) ← غير مختوم
[0x21e83000 - 0x21e84fff]  VMA-C  (متبقي)

الاستدعاء الثاني mseal(m2, 0x70000) يستهدف [0x21da6000 – 0x21e15fff]، ممتدًا عبر VMA-A (مختوم) إلى VMA-B (غير مختوم). داخل mseal_apply()، يتم استخدام curr_end القديم من VMA-A كـ curr_start عند معالجة VMA-B، مما يخلق حالة vmg غير متسقة.


التأثير الأمني

  1. يمكن الوصول إليها من مساحة المستخدم غير المميزة — تتطلب فقط memfd_create + mmap + mseal، ولا حاجة لأي CAP_*.
  2. mseal(2) هي أداة أمان أساسية — تحمي ثبات VMA. خطأ منطقي في تطبيقها يعني أنه قد يتم تطبيق VM_SEALED بشكل خاطئ بصمت عند عبور VMAs ذات حالات ختم مختلطة.
  3. صامتة في الإنتاج — في نوى غير التصحيح، تستمر الحالة غير المتسقة دون أي تحذير، مما قد يترك شجرة VMA بحالة ختم غير صحيحة.

إثبات المفهوم (PoC)

ملف: cve-2026-23416-poc.c

البناء

root@kitploit:~
gcc -o poc cve-2026-23416-poc.c

التشغيل

root@kitploit:~
./poc

المخرجات المتوقعة (نواة تصحيح مع CONFIG_DEBUG_VM)

root@kitploit:~
============================================
CVE-2026-23416-POC
Discovered by : Antonius / Blue Dragon Security
  https://bluedragonsec.com
  https://github.com/bluedragonsecurity
============================================
[iter 0]
[iter 1]
...
[+] WARNING triggered N times total

تحقق من dmesg لـ:

root@kitploit:~
WARNING: CPU: X PID: Y at mm/vma.c:830 vma_merge_existing_range+0x...

المتطلبات

  • نواة لينكس 6.17 – 7.0-rc5
  • CONFIG_DEBUG_VM=y لملاحظة VM_WARN_ON_VMG (في نوى الإنتاج لا يزال الخطأ موجودًا لكنه صامت)
  • لا حاجة لصلاحيات الجذر أو القدرات الخاصة

الإصلاح

ثلاثة التزامات إصلاح من المنبع (مطبقة في 7.0-rc6 والإصدارات المستقرة الخلفية):

الالتزامالشجرة
40b3f4700e55مستقر

إصدارات النواة التي تم إصلاحها: 7.0-rc6، 6.18.21، 6.19.11


المراجع

  • CVE-2026-23416 — cve.org
  • CVE-2026-23416 — NVD
  • مقال تقني — Medium (@w1sdom)
  • Blue Dragon Security

الجدول الزمني للإفصاح

التاريخالحدث
2026-01-13تم حجز معرف CVE
2026-04-02تم نشر CVE، دمج التزامات الإصلاح

المؤلف

Antonius (@w1sdom)
Blue Dragon Security — تانجيرانج، إندونيسيا
GitHub: bluedragonsecurity


تم إصدار نموذج PoC هذا للأغراض التعليمية والبحثية.

تنزيل الأداة
83737e34b83a
مستقر
2697dd8ae721مستقر