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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-2887-REPORT — POC متاح قريباً | Kitploit
أدوات/GitHubGitHub/ad3210/cve-2024-2887-report
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائية
GitHubad3210/cve-2024-2887-report

CVE-2024-2887-REPORT

POC متاح قريباً

عرض المستودع
13منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

SSD Advisory – Google Chrome RCE

المصدر: ssd-disclosure.com/ssd-advisory-google-chrome-rce

الملخص

ثغرة حرجة في تنفيذ التعليمات البرمجية عن بُعد في متصفح Google Chrome (الإصدارات 123 وما قبلها) تؤثر على معالجة أنواع جمع القمامة (garbage-collection) في WebAssembly (WASM). يتسبب الخطأ في ارتباك الأنواع (type confusion) يمكن استغلاله للوصول إلى قراءة/كتابة عشوائية للذاكرة، وفي النهاية تنفيذ تعليمات برمجية.

تفاصيل الثغرة

ينبع هذا الخطأ من الارتباك بين معرّفات الأنواع الأساسية (canonical type IDs) المتساوية العودية في WASM وبين تمثيلات wasm::HeapType / wasm::ValueType المستخدمة في دوال التحويل من JavaScript إلى WASM.

والأهم من ذلك، أن معرّف النوع الأساسي غير مرتبط بـ kV8MaxWasmTypes بأي شكل — بل يمكن أن ينمو بقدر ما تدعمه ذاكرة المضيف.

السبب الجذري

تقوم فئة ValueType بترميز أنواع الكومة في حقل بعرض 20 بت، لكن معرّفات الأنواع الأساسية قد تتجاوز هذا الحد. عندما يتم اقتطاع معرّف نوع أساسي مثل:

tn = t0 + 0x100000 * n

إلى 20 بت، فإنه يتحول إلى اسم مستعار مع t0، مما يتيح هجوم ارتباك الأنواع.

بالإضافة إلى ذلك، فإن معرّفات الأنواع الأساسية المطابقة لـ kAny + 0x100000 * n (حيث kAny = 1000005) تتجاوز فحوصات الأنواع وتسمح بارتباك عشوائي لأنواع WASM.

الاستغلال

يصف التقرير الاستغلال في ثلاث مراحل:

1. ارتباك الأنواع عبر حدود JS إلى WASM

تؤدي صياغة وحدات WASM تحتوي على أكثر من 1,000,000 نوع إلى التفاف معرّفات الأنواع الأساسية، مما يتيح الارتباك بين أنواع البنى (struct types) وأنواع المراجع (reference types). وتتجاوز أنواع البنى المصممة لتكون اسمًا مستعارًا مع kAny فحوصات الأنواع من JS إلى WASM.

2. إساءة استخدام بيانات PartitionAlloc الوصفية

من خلال تعديل حقول التخزين الخلفي لـ ArrayBuffer، يحصل المهاجم على كتابة عشوائية في عنوان يكون فيه القيمة المكتوبة هي عنوان البيانات الوصفية. يستغل هذا هياكل SlotSpanMetadata لتسريب عناوين chrome.dll وتحقيق عمليات كتابة عشوائية للذاكرة.

3. تنفيذ التعليمات البرمجية

يختطف الاستغلال CodePointerTable ويوجّه التنفيذ إلى سلسلة ROP تجعل مناطق الشيلكود قابلة للتنفيذ.

مخطط إثبات المفهوم

يوضح إثبات المفهوم ما يلي:

  • تكديس أكثر من 1,000,000 نوع مُعمّم (canonicalized types) لتحفيز الالتفاف.
  • إنشاء أنواع بنى تتحول إلى اسم مستعار مع kAny لتجاوز فحوصات الأنواع من JS إلى WASM.
  • استغلال ارتباك الأنواع لقراءة مواقع ذاكرة عشوائية.
  • إساءة استخدام بيانات PartitionAlloc الوصفية للهروب من وضع الحماية (sandbox escape) وتحقيق تنفيذ تعليمات برمجية عن بُعد (RCE).

العلاقة بالأعمال السابقة

هذا متغير من CVE-2024-2887، اكتشفه مانفريد بول (Manfred Paul) وعُرض في Pwn2Own Vancouver 2024. يستغل نقطة ضعف مماثلة في تعميم الأنواع (type-canonicalization) عبر ناقل مختلف.

الإصدارات المتأثرة

Google Chrome 123 والإصدارات السابقة.

استجابة البائع

تم الإصلاح في Google Chrome 124.

الإشادة

Seunghyun Lee (Xion, @0x10n)، مشارك في TyphoonPWN 2024.

تنزيل الأداة