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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SkeletonKey — CVE-2026-6765، معالجات FormAutofill المكشوفة في Firefox للاختبار فقط | Kitploit
أدوات/GitHubGitHub/defineid/skeletonkey
تحليل الثغرات الأمنيةالاستغلالتسريب البياناتأمن الويبالخصوصيةالهجوم العدائي
GitHubdefineid/skeletonkey

SkeletonKey

CVE-2026-6765، معالجات FormAutofill المكشوفة في Firefox للاختبار فقط

عرض المستودع
22منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-6765 · معالجات FormAutofill الخاصة بالاختبار فقط يمكن الوصول إليها خارج الأتمتة

المُبلِّغ مُوثَّق من قِبل Mozilla في MFSA 2026-30: عبدالعزيز السايقah. يحتوي هذا الدليل على أداة إعادة إنتاج حقيقية للثغرة. وهي مُصمَّمة ليتم تشغيلها ضد نسخة Firefox مُعرَّضة للثغرة مُنزَّلة محليًا. ولا تلمس أبدًا أي نظام حي أو تابع لجهة خارجية.

مستودع PoC المطابق: https://github.com/defineid/SkeletonKey الشرح المكتوب: writeup-ff-autofill.html في هذه المحفظة.

حقائق مُتحقَّق منها (سجل عام)

الحقلالقيمةالمصدر
CVECVE-2026-6765MITRE cvelistV5 (الحالة PUBLISHED، CNA Mozilla)
العنوانInformation disclosure in the Form Autofill componentNVD · MFSA 2026-30
الخطورةمتوسطة · CVSS 5.3 · AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NNVD
CWE359 · Exposure of Private InformationNVD
تم الإصلاح فيFirefox 150 · Firefox ESR 140.10 · Thunderbird 150 / 140.10MFSA 2026-30
الخطأbugzilla.mozilla.org/show_bug.cgi?id=2022419 (مُقيَّد أمنيًا)مرجع NVD
المُبلِّغعبدالعزيز السايقahMFSA 2026-30

الآلية (قابلة للتحقق من المصدر)

يتبادل زوج FormAutofill JSWindowActor (FormAutofillChild في المحتوى و FormAutofillParent في العملية الأصلية) الرسائل. في mozilla-central الحالي، يُقيِّد FormAutofillParent.receiveMessage أي شيء خارج مجموعة المسموح به خلف فحص الأتمتة:

// toolkit/components/formautofill/FormAutofillParent.sys.mjs  (fixed tree)
if (!FORM_AUTOFILL_MESSAGES.has(name) && !Cu.isInAutomation) {
  return undefined;
}

يشير تعليق المصدر إلى أن معالجات Save وRemove تُستدعى فقط بواسطة الاختبارات:

  • FormAutofill:SaveAddress
  • FormAutofill:SaveCreditCard
  • FormAutofill:RemoveAddresses
  • FormAutofill:RemoveCreditCards

في الإصدارات المتأثرة، كانت تلك المعالجات المخصّصة للاختبارات فقط قابلة للوصول دون بوابة Cu.isInAutomation، لذا كان بإمكان سياق محتوى الوصول إلى مسارات FormAutofill التي لم تُصمَّم قط لمواجهة محتوى الويب. صنّفت Mozilla التعرّض الناتج على أنه إفصاح عن معلومات بيانات التعبئة التلقائية المخزّنة.

ملاحظة حول نطاق الوصول: تقع getActor على windowGlobalChild، وهي خاصية خاصة بـ chrome فقط. لا يراها سكربت الصفحة العادي أبدًا، لذا فإن نموذج التهديد هو عملية محتوى يؤثر عليها المهاجم بالفعل (اختراق المُصيِّر أو مسار شيفرة على جانب المحتوى) تُصدر رسالة actor، وليس صفحة ويب عادية. تحاول أداة الاختبار مسار المحتوى وتُبلّغ بصدق عمّا إذا كان الأب قد استجاب أو أن الحدود صمدت.

يوجد العنصر الأساسي الدقيق للإفصاح في bug 2022419 وهو مقيّد أمنيًا. توضّح أداة الاختبار هذه إمكانية الوصول إلى معالج مخصّص للاختبارات فقط يحجبه إصدار مُصلَح. مرّر الاستدعاء الدقيق الذي استخدمه تقريرك مع --message.

نموذج التهديد

عملية محتوى يؤثر عليها المهاجم بالفعل (اختراق المُصيِّر أو مسار شيفرة على جانب المحتوى) ترسل رسالة FormAutofill actor التي ينبغي أن تصدر فقط من أداة اختبار الاختبارات. في الإصدار المعرّض للثغرة يستجيب الأب. في الإصدار المُصلَح تُسقطها بوابة الأتمتة.

المتطلبات المسبقة

  1. إصدار معرّض للثغرة. أي Firefox قبل 150 أو ESR قبل 140.10. تستخدم لقطات الشاشة في التقرير Firefox 140.9.0esr. نزّل إصدار المنصة المطابق من أرشيف Mozilla الرسمي على https://ftp.mozilla.org/pub/firefox/releases/140.9.0esr/.
  2. Python مع عميل Marionette:
    pip install marionette-driver
    
  3. ملف تعريف مؤقت مُهيأ ببيانات تعبئة تلقائية اصطناعية. لا تستخدم أبدًا بيانات شخصية أو بيانات دفع حقيقية.

تهيئة ملف تعريف اصطناعي

ابدأ بناء النسخة القابلة للاستغلال بملف تعريف جديد مع تفعيل Marionette:

/path/to/firefox --marionette --no-remote --profile ./poc-profile about:blank

ثم في about:preferences#privacy أضف عنوانًا محفوظًا اصطناعيًا واحدًا وبطاقة اصطناعية واحدة، على سبيل المثال الاسم POC TESTER، ورقم البطاقة 4111 1111 1111 1111. هذه بيانات اختبار فقط.

التشغيل

python3 poc.py                 # default handler and 127.0.0.1:2828
python3 poc.py --help          # options
python3 poc.py --message FormAutofill:SaveAddress

بديل صندوق أدوات المتصفح

getActor مخصص لـ chrome فقط، لذا من بيئة المحتوى المعزولة (content sandbox) يُبلّغ أداة الاختبار البسيطة (plain harness) عن تعذّر الوصول إلى الـ actor (انظر poc-run.png). لدفع الرسالة من سياق يمتلك الـ actor فعليًا، على نسخة مُعرّضة للثغرة فعّل صندوق أدوات المتصفح (Browser Toolbox) (devtools.chrome.enabled وdevtools.debugger.remote-enabled)، وافتحه بـ Ctrl+Alt+Shift+I، ومن وحدة تحكم عملية المحتوى (content-process console) اجلب الـ actor من windowGlobalChild واستدعِ sendQuery بنفس الحمولة الاصطناعية. يحاكي هذا نموذج التهديد الخاص بعملية محتوى مخترقة دون أي بيانات حقيقية.

النتيجة المتوقعة

  • نسخة مُعرّضة للثغرة: تصل أداة الاختبار إلى FormAutofill actor من المحتوى ويُنفَّذ المعالج المخصص للاختبار فقط. يطبع السكربت حالة Form Autofill المُعادة أو المُعدَّلة، موضحًا الحدود التي لا ينبغي تجاوزها.
  • نسخة مُصحَّحة (150 أو ESR 140.10 وما بعدها): يعيد الاستدعاء نفسه undefined لأن Cu.isInAutomation تساوي false. يُبلّغ السكربت عن فرض البوابة.

حالة التحقق

كُتبت أداة الاختبار هذه استنادًا إلى السجل العام ومصدر mozilla-central الحالي. وقد نُفِّذت هنا مقابل نسخة Firefox 140.11.0esr المحلية، وهي مُصحَّحة بالفعل للثغرة CVE-2026-6765. التشغيل المُلتقط موجود في poc-run.png: من سياق المحتوى لا يمكن الوصول إلى FormAutofill actor (فـ windowGlobalChild.getActor غير مكشوف للمحتوى)، لذا تصمد حدود العملية الأصلية (parent boundary). هذه هي النتيجة الصحيحة والصادقة على نسخة مُصحَّحة.

لملاحظة تجاوز الحدود تحتاج إلى نسخة مُعرّضة للثغرة (Firefox قبل 150 أو ESR قبل 140.10، مثلًا 140.9.0esr) بالإضافة إلى ملف تعريف مؤقت (throwaway profile) مُزوَّد ببيانات autofill اصطناعية، وتدفع رسالة الـ actor من سياق عملية المحتوى وفق بديل صندوق أدوات المتصفح أعلاه. عدّل --message ليطابق البدائي (primitive) الدقيق من تقريرك الأصلي.

النطاق والأخلاقيات

يستهدف هذا نسخة مُنزَّلة محليًا مع بيانات اصطناعية لكتابة تقرير عن ثغرة CVE أبلغ عنها المؤلف بنفسه وتم تصحيحها بالفعل. وهو لا يهاجم أي خدمة حية أو تابعة لطرف ثالث.

تنزيل الأداة