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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-43494-PinTheft-PoC — إثبات مفهوم لـ CVE-2026-43494 (PinTheft): Linux LPE via RDS zerocopy refcount bug + io_uring fixed buffers → SUID page-cache overwrite. لأغراض البحث المصرح به فقط. | Kitploit
أدوات/GitHubGitHub/tanzz1337/cve-2026-43494-pintheft-poc
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائية
GitHubtanzz1337/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

إثبات مفهوم لـ CVE-2026-43494 (PinTheft): Linux LPE via RDS zerocopy refcount bug + io_uring fixed buffers → SUID page-cache overwrite. لأغراض البحث المصرح به فقط.

الأكثر شعبية

عرض الكل →

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

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

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

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

SLEY — إثبات المفهوم لـ PinTheft (CVE-2026-43494)

SLEY PoC — uid 1000 to root on WSL2

إثبات المفهوم — uid=1000(raken) → uid=0(root) بعد تشغيل ./sley على WSL2 (6.6.87.2-microsoft-standard-WSL2)

CVE-2026-43494 Linux LPE io_uring RDS

ملف واحد لإثبات المفهوم لـ CVE-2026-43494 (PinTheft): تصعيد صلاحيات محلي في نواة لينكس يجمع بين خطأ في عد المراجع في zerocopy لـ RDS والمخازن المؤقتة الثابتة لـ io_uring لاستبدال ذاكرة التخزين المؤقت للصفحات لملف ثنائي SUID-root.

إخلاء مسؤولية: هذا المستودع مخصص للبحث الأمني المصرح به والتعليم والاختبار الدفاعي فقط. تشغيله ضد أنظمة لا تملكها أو تفتقر إلى إذن صريح لاختبارها غير قانوني وغير أخلاقي. لا يتحمل المؤلفون أي مسؤولية عن سوء الاستخدام.


نظرة عامة

البحث العام الأصلي وإثبات المفهوم نُشرا بواسطة فريق V12 Security (Aaron Esau). SLEY هو إعادة تنفيذ مستقلة ومدمجة مع واجهة مستخدم طرفية منسقة للاستخدام في المختبر والتعلم.


كيفية العمل

root@kitploit:~
flowchart LR
    A[mmap anonymous page] --> B[io_uring: register fixed buffer]
    B --> C[Clone buffer table to 2nd ring]
    C --> D[1024× failing RDS zerocopy sends]
    D --> E[Drain FOLL_PIN bias / steal refs]
    E --> F[munmap → page freed]
    F --> G[SUID binary page reclaimed in page cache]
    G --> H[Stale io_uring ptr writes ELF stub]
    H --> I[exec SUID → root shell]
  1. استطلاع (Recon) — التثبيت على وحدة المعالجة المركزية 0، والعثور على ملف ثنائي SUID قابل للقراءة (su، mount، passwd، …).
  2. إعداد io_uring — تسجيل الصفحة المجهولة كمخزن مؤقت ثابت (الانحياز FOLL_PIN ≈ 1024).
  3. سرقة التثبيت (Pin theft) — إغراق عمليات إرسال RDS zerocopy الفاشلة؛ كل فشل يمكن أن يسقط مرجعاً إضافياً على الصفحة الأولى المثبتة.
  4. الاستعادة والكتابة فوق (Reclaim & overwrite) — إلغاء التعيين (munmap) يحرر الصفحة؛ إعادة فتح الهدف SUID يتسابق مع استعادة ذاكرة التخزين المؤقت للصفحات؛ بيانات وصفية للمخزن المؤقت الثابت القديم تسمح بكتابة دالة ELF صغيرة x86_64 في ذاكرة التخزين المؤقت.
  5. تصعيد الصلاحيات (Privesc) — تنفيذ execve للملف الثنائي SUID يشغل الدالة المحقونة كجذر.

المتطلبات

النواة / التهيئة

  • نواة لينكس ضعيفة (غير مصححة) مع وجود خطأ RDS
  • CONFIG_RDS=y و CONFIG_RDS_TCP=y
  • CONFIG_IO_URING=y و kernel.io_uring_disabled = 0
  • تحميل وحدات rds / rds_tcp (أو قابلة للتحميل التلقائي من قبل مستخدمين غير مميزين)
  • النواة ≥ 6.13 لواجهة IORING_REGISTER_CLONE_BUFFERS المستخدمة في السلسلة العامة
  • x86_64 لحمولة ELF المضمنة في إثبات المفهوم هذا

أدوات البناء

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# أو حزمة الرؤوس المكافئة على توزيعتك

الصلاحيات

  • مستخدم محلي غير مميز كافٍ على مضيف ضعيف (هذا هو نموذج التهديد)
  • لا تقوم بتشغيله على أنظمة الإنتاج

التحقق من التعرض (للقراءة فقط)

root@kitploit:~
# هل تم التصحيح؟ (مثال — عدّل حسب توزيعتك)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

# هل RDS متاح؟
grep CONFIG_RDS /boot/config-$(uname -r) 2>/dev/null
lsmod | grep -E '^rds'

# هل io_uring مفعل؟
cat /proc/sys/kernel/io_uring_disabled  # توقع 0

البناء

root@kitploit:~
gcc -O2 -Wall -Wextra -o sley sley.c

الربط الثابت (اختياري، لصور المختبر الصغيرة):

root@kitploit:~
gcc -O2 -static -o sley sley.c

الاستخدام

root@kitploit:~
./sley

جميع مخرجات الحالة تذهب إلى stderr (واجهة مستخدم بألوان ANSI 256، شريط تقدم، تسجيل مرحلي). تأكد من أن طرفيتك تدعم UTF-8 و truecolor/256 لون لواجهة رسم الصندوق.

أمثلة على المراحل:

root@kitploit:~
PHASE 1 │ Reconnaissance
PHASE 2 │ Memory & io_uring setup
PHASE 3 │ Pin reference theft (RDS zerocopy)
PHASE 4 │ Page cache overwrite & privesc

النتيجة المتوقعة (مضيف ضعيف)

على تهيئة تم استغلالها بنجاح، تكتمل السلسلة وتنتقل إلى الملف الثنائي SUID المكتشف مع صفحة أولى مستبدلة — مما يعطي شل جذر إذا تزامن السباق وحالة النواة.

على النوى المصححة، المضيفات المحصنة، أو في غياب RDS/io_uring، سيفشل إثبات المفهوم مبكراً (لا يوجد هدف SUID، أخطاء mmap/io_uring/socket، إلخ).


التخفيف (Mitigation)

قد تصدر تنبيهات أمان خاصة بالتوزيعة تصحيحات خلفية — تابع قائمة أمان النواة الخاصة بموزعك.


هيكل المشروع

root@kitploit:~
.
├── README.md              # هذا الملف
├── proof-of-concept.jpg   # لقطة شاشة: LPE ناجح (uid 1000 → root)
├── sley.c                 # ملف واحد لإثبات المفهوم + واجهة طرفية
└── .gitignore

المراجع

  • NVD — CVE-2026-43494
  • oss-security — مناقشة PinTheft
  • التزام إصلاح النواة

قانوني

يتم توفير هذا البرنامج كما هو للبحث والتعليم. أنت مسؤول عن الامتثال للقوانين السارية والحصول على إذن كتابي قبل اختبار أي نظام لا تملكه.


الترخيص

MIT — راجع ملف الترخيص في المستودع إذا تمت إضافته. استخدم بمسؤولية.

تنزيل الأداة
العنصرالتفاصيل
CVECVE-2026-43494
الاسم العامPinTheft
المكونnet/rds — مسار الإرسال zerocopy (rds_message_zcopy_from_user)
البدائية (Primitive)استدعاء put_page() مزدوج عند فشل تثبيت الصفحة → سرقة مراجع FOLL_PIN
التسليح (Weaponization)مخزن مؤقت ثابت لـ io_uring + فشل zerocopy لـ RDS → كتابة Use-After-Free في ذاكرة التخزين المؤقت للصفحات
التأثيرصلاحيات الجذر محلياً على التهيئات الضعيفة
الإصلاح الرسميe17492979319
الإجراءملاحظات
تصحيح النواةطبق الإصلاح الثابت الذي يحتوي على الالتزام e17492979319
تعطيل RDSmodprobe -r rds_tcp rds (واحظر التحميل التلقائي) إذا لم يكن ضرورياً
تقييد io_uringkernel.io_uring_disabled=1 أو 2 عبر sysctl
أقل صلاحيةأزل الملفات الثنائية SUID غير الضرورية؛ استخدم الحاويات مع ملفات تعريف محصنة
المراقبةتنبيه عند حدوث اندفاع من فشل zerocopy لـ RDS مع أنماط تسجيل المخازن المؤقتة لـ io_uring