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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-74939-escape-the-mac-n-cheese-box — تصعيد امتيازات IPDL من المحتوى إلى الأب في فايرفوكس (N-day، الخطأ 2054416): PDocumentChannel مزوّر مع RemoteTypeOverride -> وضع عملية about مُميَّزة، عبر حقن مسار إرسال mojo-port من عملية محتوى مخترَقة | Kitploit
أدوات/GitHubGitHub/sneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box
تصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباستغلال الملفات الثنائية
GitHubsneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box

CVE-2026-74939-escape-the-mac-n-cheese-box

تصعيد امتيازات IPDL من المحتوى إلى الأب في فايرفوكس (N-day، الخطأ 2054416): PDocumentChannel مزوّر مع RemoteTypeOverride -> وضع عملية about مُميَّزة، عبر حقن مسار إرسال mojo-port من عملية محتوى مخترَقة

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
1منذ 21س 23دلم تتم المراجعة بعد

CVE-2026-74939 — تصعيد الامتيازات من المحتوى إلى العملية الأم في فايرفوكس

إثبات مفهوم لتهريب من صندوق الحماية في نسخة فايرفوكس الليلية 149.0a1 (2fbc0748c4، قبل الإصلاح). تزوّر عملية محتوى مخترقة رسالة IPDL تجعل العملية الأم تحمّل صفحة في عملية ذات امتيازات (privilegedabout).

هذا هو تهريب صندوق الحماية من المرحلة الثانية، وهو مصمّم ليأتي في سلسلة بعد تنفيذ تعليمات برمجية عن بُعد (RCE) في عملية المحتوى (مثل CVE-2026-2796).

الثغرة (خطأ موزيلا 2054416)

تقوم العملية الأم بإلغاء تسلسل كائن nsDocShellLoadState من رسائل IPDL الواردة من المحتوى إلى العملية الأم. لا ترفض النسخة الهشّة حقل RemoteTypeOverride المُعيّن من المحتوى، لذا يمكن للمحتوى اختيار نوع العملية التي ستُحمَّل فيها عملية التنقّل.

يجعل الإصلاح (الالتزام 3ec5c71b41bb، "Validate RemoteTypeOverride") مُنشئ الكائن nsDocShellLoadState يرفض أي تجاوز عند تحميل ناتج عن المحتوى.

عندما يُقبل التجاوز — تحميل مستند لـ about:blank في سياق المستوى الأعلى — يقوم IsolationOptionsForNavigation بتعيين النوع البعيد للتحميل إلى قيمة التجاوز، وتوضع الصفحة في عملية ذات امتيازات. وبذلك تُنتهك حدود صندوق الحماية.

نظرة عامة على الاستغلال

يركب التجاوز على رسالة PNecko::PDocumentChannel، وهي رسالة ترسلها كل عملية محتوى عند كل تحميل مستند (DocumentChannelCreationArgs.loadState هو كائن nsDocShellLoadState).

الجزء المثير للاهتمام هو آلية التسليم: فالكتابات الخام إلى مقبس IPC تُسقَط بصمت، لأن رسائل IPDL أصبحت تركب الآن منافذ mojo. بدلاً من ذلك، يقود إثبات المفهوم مسار الإرسال الحقيقي من جافاسكربت عبر استدعاءات أصلية (باستخدام بدائية funcref الخاصة بـ CVE-2026-2796):

  1. operator new — تخصيص كتلة من الكومة لرسالة IPC::Message
  2. IPC::Message::Message(routing, type, capacity, flags) — مُنشئ التموضع (placement ctor)
  3. Pickle::WriteBytes — إلحاق الحمولة المزوّرة
  4. MessageChannel::Send على قناة PContent — يتم التعامل مع تأطير mojo وتوجيه المنافذ وأرقام التسلسل جميعها بشكل أصلي

تحمل الحمولة (التي يبنيها forge.py) القيمة RemoteTypeOverride = "privilegedabout"، وعنوان URI about:blank، ومبدأً فارغًا (null principal)، وقيمًا مُسرَّبة من وقت التشغيل (معرّف BrowsingContext، TriggeringRemoteType).

الملفات

التشغيل

root@kitploit:~
./irun

التحقق

تُظهر سجلات جانب العملية الأم (MOZ_LOG=ProcessIsolation:5,DocumentChannel:5) تبديل العملية إلى العملية ذات الامتيازات:

root@kitploit:~
V/ProcessIsolation using remote type override (privilegedabout) for load
I/ProcessIsolation Process Switch: Changing Remoteness from 'webIsolated=http://127.0.0.1' to 'privilegedabout'

المراجع

  • خطأ موزيلا 2054416 — التزام الإصلاح 3ec5c71b41bb "Validate RemoteTypeOverride"
  • ثغرة المرحلة الأولى في عملية المحتوى (RCE): CVE-2026-2796
تنزيل الأداة
الملفالغرض
privesc.htmlصفحة إثبات المفهوم، تُشغَّل داخل عملية المحتوى المخترقة
forge.py / forge.jsonبناء رسالة IPDL المزوّرة (تتحقق ذاتيًا)
wasm-bytes.jsأوليات المرحلة الأولى: قراءة/كتابة اعتباطية (arb R/W)، استدعاءات funcref
mdrive.py / mdrive2.pyأداة ربط Marionette لإطلاق نسخة Nightly والتحكم فيها
irunتشغيل مُجهَّز بالأدوات: إرفاق lldb بالعملية الأم + أدلة MOZ_LOG
profile.user.jsتفضيلات ملف تعريف فايرفوكس (تشغيل fission، تفعيل التفريغ dump)
parse_dc.pyمحلّل متطابق بايتًا ببايت لرسائل DocumentChannel الملتقطة
scan_sentinels.py / extract_fields.pyماسحات خرائط الحقول للقطات الملتقطة