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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-28912 — ملاحظات الهندسة العكسية وإثبات مفهوم عملي (PoC) فعّال لخلل تتبع الروابط الرمزية في macOS PackageKit (CVE-2026-28912)، مع فرق تفكيك التصحيح في الإصدار 26.6. | Kitploit
أدوات/GitHubGitHub/jvidhan/cve-2026-28912
تصعيد الامتيازاتالتحليل الثابتتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةتحليل الملفات الثنائيةالأوراق والأبحاثالتعلم والتعليم
GitHubjvidhan/cve-2026-28912

cve-2026-28912

ملاحظات الهندسة العكسية وإثبات مفهوم عملي (PoC) فعّال لخلل تتبع الروابط الرمزية في macOS PackageKit (CVE-2026-28912)، مع فرق تفكيك التصحيح في الإصدار 26.6.

عرض المستودع
11منذ 4 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-28912 — ملاحظات الهندسة العكسية وإعادة الإنتاج

هندسة عكسية مستقلة لخلل تتبع الروابط الرمزية في macOS PackageKit (CVE-2026-28912)، بالإضافة إلى PoC عامل يوضح قيام المثبّت بكتابة ملف يتحكم به المهاجم بصلاحيات root عبر رابط رمزي لدليل في مسار وجهة التثبيت.

الخلل هو اجتياز مسار غير متزامن في منطق إعادة الربط للملفات في PKCoreShove. يمكن لملف .pkg خبيث أن يعلن عن مسار وجهة في دليل غير محمي، ويضع رابطاً رمزياً لدليل عند أحد مكونات المسار يشير إلى موقع محمي، ويتسبب في قيام المثبّت — الذي يعمل بصلاحيات root — بالكتابة داخل هدف الرابط الرمزي. يضيف إصلاح Apple في 26.6 الدالة _PKSIPOpenPathSafely التي تجتاز كل مكون من مكونات المسار باستخدام O_NOFOLLOW وترفض أي رابط رمزي.


نظرة سريعة على CVE

الحقلالقيمة
CVECVE-2026-28912
المكوّنPackageKit (PKCoreShove, PKBundleComponent)
المتأثرmacOS Tahoe 26.5 والإصدارات الأقدم
تم الإصلاح فيmacOS Tahoe 26.6
تأثير الإشعار"قد يتمكن تطبيق من الحصول على صلاحيات root."
CVSS v3.17.8 (مرتفع)
أبلغ عنهالمكتشفون الأصليون وفقاً لإشعار Apple

لماذا يوجد هذا التقرير

يوثّق إشعار Apple الخاص بـ CVE-2026-28912 التأثير والإصدار المُصلَّح. لكنه لا يوثّق الآلية التقنية:

  • أي دالة في PackageKit تتبع الرابط الرمزي
  • لماذا يجتاز المثبّت مسار الوجهة دون التحقق من كل مكوّن
  • أي دالة أُضيفت في 26.6 لسدّ الخلل
  • لماذا يُدرج الإصلاح اجتيازاً بـ O_NOFOLLOW عند تلك النقطة بالتحديد
  • لماذا يجب أن يستخدم PoC رابطاً رمزياً لدليل بدلاً من رابط رمزي لملف
  • لماذا يُستبدل الرابط الرمزي على مستوى الملف عند الوجهة بدلاً من تتبعه

لم يُعثر على أي تقرير تقني عام وقت كتابة هذا النص. يملأ هذا المستودع تلك الفجوة بتحليل هندسة عكسية مستقل لـ PackageKit بين 26.4 و26.6، و PoC عامل يوضح البدائية على أرض الواقع.

هذا ليس ادعاءً بالاكتشاف. تم الإبلاغ عن CVE من قبل المكتشفين الأصليين وأصلحته Apple. المساهمة هنا هي التحليل التقني وإعادة الإنتاج.


ملخص الثغرة

PKCoreShove _relinkFile:dest: في macOS 26.4 يجتاز مسار الوجهة مكوّناً بمكوّن عند إنشاء ملف:

; macOS 26.4, PackageKit
1a9fb14f8   _relinkFile:dest:
    ...
    bl   _linkResolutionProhibitted     ; returns 0 in the normal case
    mov  w8, 0x10                       ; RENAME_NOFOLLOW_ANY
    cmp  w0, 0
    csel w22, w8, wzr, ne               ; w22 = 0x10 if prohibited, else 0
    ...
    mov  x2, x22
    bl   _renamex_np                    ; uses w22 as flags

تُرجع _linkResolutionProhibitted القيمة 0 (false) عندما لا تستطيع العملية المستدعية تعديل ملفات SIP — وهي الحالة الطبيعية لتثبيت يبدأه المستخدم. وهذا يعطّل RENAME_NOFOLLOW_ANY، فيتبع إعادة التسمية أي رابط رمزي في مسار الوجهة.

يضيف إصلاح 26.6 الدالة _PKSIPOpenPathSafely، التي تُستدعى من PKBundleComponent initWithBundleAtPath:relativeToDestination::

; macOS 26.6, PackageKit
1aa6dfe18   bl   _PKSIPOpenPathSafely    ; walks each component with O_NOFOLLOW

_PKSIPOpenPathSafely:

  1. تفتح كل مكوّن من مكونات المسار باستخدام O_NOFOLLOW (0x4)
  2. تكتشف الروابط الرمزية عبر S_IFLNK (0xa000 في st_mode)
  3. تتحقق من حماية SIP عبر _PKSIPFullyProtected
  4. تقرأ SF_RESTRICTED عبر fgetattrlist
  5. تستخدم close_drop_np لإسقاط امتداد sandbox عند التنظيف

أي مكوّن يكون رابطاً رمزياً يشير خارج المسار المقصود يُرفض بخطأ EPERM أو ELOOP، ويفشل التثبيت.


ما يحتويه هذا المستودع

الهندسة العكسية

  • فرق التفكيك لـ PKCoreShove _relinkFile:dest: و _linkResolutionProhibitted بين 26.4 و26.6
  • تحديد الحقل المصاب: _linkResolutionProhibitted التي تُرجع 0 للعمليات غير المعدِّلة لـ SIP
  • تحديد الإصلاح: _PKSIPOpenPathSafely المضافة إلى PKBundleComponent، اجتياز O_NOFOLLOW لكل مكوّن
  • تحليل استدعاءات النظام: يستخدم المثبّت renamex_np مع RENAME_NOFOLLOW_ANY = 0x10 فقط عندما يستطيع المستدعي تعديل ملفات SIP
  • تأكيد وقت التشغيل: يُظهر fs_usage قيام المثبّت بـ stat/listxattr على هدف الرابط الرمزي والكتابة عبر الرابط الرمزي للدليل

راجع docs/ANALYSIS.md للتقرير الكامل و docs/ARTIFACTS.md للعناوين وعينات السجلات.

إعادة الإنتاج

  • link.sh — PoC مكتفٍ بذاته في ملف واحد:

    1. ينشئ رابطاً رمزياً لدليل عند $HOME/cve-poc/target → $HOME/cve-poc/real
    2. يبني ملف .pkg يعلن حمولته عن ملف عند $HOME/cve-poc/target/poc.txt
    3. يثبّته باستخدام sudo installer
    4. يتحقق من وصول الملف إلى $HOME/cve-poc/real/poc.txt — بملكية root:wheel

ما يوضحه هذا PoC

  • حمولة .pkg تعلن عن ملف تحت دليل غير محمي
  • قيام المثبّت بتتبع رابط رمزي لدليل عند ذلك المسار
  • إنشاء ملف مملوك لـ root خارج الوجهة المعلنة
  • التقاط حي للكتابة عبر fs_usage

ما لا يوضحه هذا PoC

  • رابط رمزي على مستوى الملف عند الوجهة. الروابط الرمزية للملفات تُستبدل بواسطة renamex_np، ولا تُتبع — يجب أن تكون الكتابة عبر رابط رمزي لدليل في المسار.
  • تنفيذ كود، أو تصعيد صلاحيات، أو shell على الضحية
  • التسليح: يستخدم PoC افتراضياً $HOME/cve-poc/real/، وليس /etc/sudoers.d/ أو /Library/LaunchDaemons/

التأثير الموضَّح هو بدائية تتبع الروابط الرمزية — وهو بالضبط السلوك الذي يسدّه إصلاح 26.6.


المتطلبات

المضيف الهدف (الضحية)

  • macOS Tahoe 26.5 أو أقدم (PackageKit مصاب)
  • pkgbuild, installer, fs_usage
  • Root (للمثبّت)

لا حاجة لمضيف مهاجم منفصل

يعمل PoC بالكامل على الهدف. يُنشأ كل من الرابط الرمزي والحمولة محلياً. هذا يُبقي PoC مكتفياً بذاته وقابلاً لإعادة الإنتاج دون أي إعداد شبكة.


الاستخدام

chmod +x link.sh
./link.sh

ضبط اختياري عبر متغيرات البيئة:

sudo CONTENT="test content" ./link.sh

يضبط CONTENT المحتوى المكتوب عبر الرابط الرمزي. افتراضياً هو hello.

المخرجات المتوقعة

[*] System information:
ProductName:        macOS
ProductVersion:     26.4
BuildVersion:       25E246

[*] Setup...
    Symlink:  /Users/nerd/cve-poc/target → /Users/nerd/cve-poc/real

[*] Build .pkg...
    Payload:  /Users/nerd/cve-poc/payload/Users/nerd/cve-poc/target/poc.txt
    Package:  /Users/nerd/cve-poc/poc.pkg

[*] Install (password prompt expected)...
installer: Package name is poc
installer: Installing at base path /
installer: The install was successful.

[✓] VULNERABILITY CONFIRMED
    Landed at /Users/nerd/cve-poc/real/poc.txt
    Owner:   root:wheel
    Content: hello

CVE-2026-28912 trigger SUCCESSFUL

التحقق من الإصلاح

على نظام مُصلَّح (26.6)، يفشل نفس PoC:

[✗] Not triggered
No file was created in /Users/nerd/cve-poc/real/

راجع docs/PATCH_DIFF.md لمقارنة التفكيك.


مزالق .pkg (لإعادة الإنتاج)

اكتُشفت تفصيلتان في PoC أثناء التطوير وهما موثّقتان هنا حتى لا يصطدم بهما الآخرون الذين يبنون أدوات مشابهة:

  1. يجب أن يكون الرابط الرمزي عند مكوّن من مكونات المسار التي يجتازها المثبّت. الرابط الرمزي على مستوى الملف عند الورقة النهائية للوجهة يُستبدل بواسطة renamex_np؛ فقط الرابط الرمزي لدليل في منتصف المسار يُتبع.

  2. يجب أن يحاكي مسار الحمولة مسار الوجهة. مع pkgbuild --install-location /، يكون مسار الحمولة هو مسار الوجهة ناقص الشرطة المائلة البادئة /. إذا لم يتطابقا، فلن يجتاز المثبّت الرابط الرمزي أبداً.

كلاهما موثّق في docs/ANALYSIS.md.


ملاحظة حول لماذا لا تُعدّ كلمة المرور تخفيفاً

يتطلب CVE-2026-28912 كلمة مرور المستخدم لتشغيل المثبّت بصلاحيات root. تلك الكلمة مخصصة للتثبيت، وليس للكتابة عبر الرابط الرمزي. يصرّح المستخدم بالكتابة إلى $HOME/cve-poc/target/، وتعيد الثغرة توجيه الكتابة إلى ما يشير إليه الرابط الرمزي. المساران مختلفان، ولا يرى المستخدم الفرق أبداً.


الشكر

  • الاكتشاف الأصلي: Matej Moravec (@MacejkoMoravec)
  • التحليل المستقل و PoC: jvidhan
  • المرجع: إشعار Apple والملف التنفيذي المُصلَّح شكّلا خط الأساس للمقارنة مع الإصدار المصاب.

إخلاء المسؤولية

يُقدَّم هذا المستودع لأغراض البحث الأمني الدفاعي والتعليم فقط.

تنزيل الأداة