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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/bytev0rtex/cve-2026-65330
تصعيد الامتيازاتأمان iOSتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةأمن الجوالاستغلال الملفات الثنائية
GitHubbytev0rtex/cve-2026-65330

CVE-2026-65330

إثبات مفهوم لتجاوز مُنوِّع PAC الثابت في معالج setxattr الخاص بـ tmpfs على iOS 26.6، يُظهر إمكانية الوصول إلى مسار التوقيع القابل للاستغلال من مساحة المستخدم.

عرض المستودع
1منذ 9س 41دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-65330 — تجاوز PAC في tmpfs setxattr

المكوّن: XNU VFS — default_setxattr_doubleagent (VNOP الخاص بـ tmpfs)
المتأثر: iOS / iPadOS 26.6 (23G71) والإصدارات الأقدم
تم الإصلاح في: iOS / iPadOS 26.6.1 (23G83)
النوع: مُنوّع PAC ثابت في توقيع مؤشر معالج xattr
التأثير: التحكم في عداد البرنامج (PC) من سياق النواة؛ تصعيد كامل للصلاحيات عند دمجه مع بدائية كتابة في النواة


الاعتمادات

اكتُشف بواسطة: Bhaswanth Chigurupati، Billy Jheng Bing Jhong، Pan Zhenpeng (@Peterpan0927) من STAR Labs SG Pte. Ltd.
(وفقًا لنشرة أمان Apple — iOS 26.6.1)


السبب الجذري

default_setxattr_doubleagent، معالج xattr من نوع VNOP لنظام ملفات tmpfs، يوقّع مؤشر دالة معالج xattr باستخدام مُنوّع PAC ثابت ومعروف وقت الترجمة: #0x307a.

root@kitploit:~
; نواة XNU — default_setxattr_doubleagent (مفكك)
handler_ptr = vnode_operations[VNOP_SETXATTR_SLOT];   // قراءة من جدول vnop
signed_ptr  = PACDA(handler_ptr, 0x307a);             // توقيع بمُنوّع ثابت
... call AUTDA(signed_ptr, 0x307a) → BLR             // مصادقة وقفز

نظرًا لأن المُنوّع ثابت ومعروف للعموم، يمكن للمهاجم الذي يمتلك بدائية كتابة في النواة أن:

  1. يزيّف مؤشرًا موقّعًا بـ PAC إلى عنوان نواة عشوائي:
    forged = PACIA(shellcode_addr, 0x307a)
  2. يكتب forged في الفتحة المناسبة من جدول vnode_operations الخاص بالعقدة الهدف.
  3. يستدعي setxattr() على أي ملف في نقطة تحميل tmpfs ← تنفّذ النواة shellcode_addr.

الدور في سلسلة الاستغلال

في سلسلة تصعيد صلاحيات نواة iOS 26.6:

root@kitploit:~
CVE-2026-64788 (IOGPUFamily UAF)  →  بدائية قراءة/كتابة في النواة
CVE-2026-65330 (هذا الثغرة)       →  التحكم في PC → الجذر (uid=0)

بدائية sign_ptr (PACIA بمُنوّع #0x307a) مُنفَّذة في POC الخاص بكسر الحماية باستخدام تجميع ARM64e مضمّن. تُستخدم بدائية القراءة/الكتابة في النواة من أجل:

  1. تحديد موقع مؤشر v_op للعقدة الهدف.
  2. كتابة مؤشر PAC المزيّف في vnode_operations[VNOP_SETXATTR_SLOT].
  3. تحفيز التنفيذ عبر setxattr("/tmp/trigger", ...).

سلوك PoC

يختبر PoC المستقل (poc_pac_bypass.c) مسار VNOP القابل للاستغلال:

  • ينشئ ملف اختبار في /var/root/poc65330_test
  • يستدعي setxattr() مع XATTR_NAME="com.apple.poc.cve65330.test" ← يصل إلى default_setxattr_doubleagent
  • يشغّل تمريرة إجهاد من 10 تكرارات لتأكيد أن VNOP يُستدعى بشكل متكرر
  • يستدعي removexattr() للوصول إلى مسار التنظيف
  • يحذف ملف الاختبار

لا يقوم PoC بتزييف مؤشر PAC أو الكتابة فوق أي بيانات في النواة — بل يُظهر فقط أن مسار التوقيع القابل للاستغلال #0x307a يمكن الوصول إليه من مساحة المستخدم عبر استدعاء نظام setxattr() عادي.


المتطلبات

  • iOS 26.6 (23G71) أو إصدار أقدم
  • جهاز مكسور الحماية أو خارج بيئة الحماية (sandbox) لإنشاء ملفات في /var/root/ (استدعاء setxattr نفسه قابل للوصول من أي عملية — يمكن تعديل مسار الملف إلى موقع قابل للكتابة داخل بيئة الحماية)
  • بدائية كتابة في النواة مطلوبة لاستغلال كامل للتحكم في PC

البناء

root@kitploit:~
# ملف C مستقل (لا يتطلب أطر عمل)
clang -arch arm64 -o poc poc/poc_pac_bypass.c

# للجهاز (مع التوقيع):
clang -arch arm64 -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
      -o poc poc/poc_pac_bypass.c
codesign -s "Apple Development" poc

التحقق من المُنوّع

تم التحقق من المُنوّع الثابت 0x307a من تفكيك kernelcache الخاص بالإصدار 26.6 (23G71):

root@kitploit:~
; default_setxattr_doubleagent + 0x?? (تقريبي)
MOVZ  x1, #0x307a          ; ثابت المُنوّع
PACDA x0, x1               ; توقيع مؤشر المعالج

يستخدم AUTDA x0, x1 المقابل في موقع الاستدعاء نفس الثابت، مما يؤكد أن أي مؤشر مزيّف بـ PACIA مع مُنوّع 0x307a ينجح في المصادقة.


الجدول الزمني

التاريخالحدث
2026-08-17إصدار iOS 26.6.1 مع الإصلاح
2026-08-17نشر اعتمادات Apple في نشرة الأمان

المراجع

  • نشرة أمان Apple — iOS 26.6.1
تنزيل الأداة