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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Palimpsest — CVE-2026-74945 · إفشاء بيانات من الكومة غير المهيأة عبر خط ويب مُصمَّم (sec-high) | Kitploit
أدوات/GitHubGitHub/defineid/palimpsest
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالأمن الويب
GitHubdefineid/palimpsest

Palimpsest

CVE-2026-74945 · إفشاء بيانات من الكومة غير المهيأة عبر خط ويب مُصمَّم (sec-high)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Palimpsest

CVE-2026-74945 · إفصاح عن ذاكرة كومة غير مهيأة عبر خط ويب مُصمَّم

الخطورة الأمنية عالية. CWE 908 وCWE 200. أُصلح في Firefox 154. Bugzilla 2057808. يمكن الوصول إليه من صفحة ويب عادية عبر @font-face.

الملخص

يقوم Firefox بتنقية خطوط الويب عبر OTS قبل استخدامها. تتظافر ثلاثة عيوب بحيث يعيد خط مُصمَّم خصيصًا ذاكرة كومة غير مهيأة من عملية المتصفح إلى الصفحة. استدعاء واحد لـ measureText يقرؤها بمعدل وحدتي بايت في المرة الواحدة عبر نافذة بحجم 64 كيلوبايت.

السبب الجذري

ينمو تدفق مخرجات OTS باستخدام moz_xrealloc الذي لا يُصفّر الذاكرة أبدًا. وتقبل Seek أي موضع حتى حجم التخصيص دون أن تملأ الفجوة بالأصفار. وتضبط forget حجم المخزن المؤقت على أعلى إزاحة تم الوصول إليها. وبالتالي، تُسلَّم أي فجوة بين آخر كتابة وSeek إلى الأمام إلى المستدعي حاملةً ذاكرة كومة قديمة.

جدول فرعي بتنسيق cmap 14 بقيمة nonDefaultUVSOffset كبيرة يجعل المُسلسِل ينتقل إلى الأمام ويترك الفجوة داخل الخط المُصدَر. ويُصدَر جدول فرعي مصاحب بتنسيق 4 مع id_range_offset فردي في المقطع الأخير حرفيًا. يستخدم التحقق من حدود البحث عن الصور الرمزية بقية cmap الكامل وليس الجدول الفرعي. تمر القفزة إلى منطقة الجدول الفرعي المجاور.

تصل MapCharToGlyphFormat4 إلى المقطع المُصمَّم وتُعيد معرّف صورة رمزية مقروءًا من الفجوة. ويمكن قياس مقدار تقدم hmtx مباشرةً من canvas.

التدفق

فجوة غير مهيأة تتسرّب عبر measureText

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

root@kitploit:~
pip install fonttools brotli
python3 make_poc_font.py        # builds poc.woff
# serve this folder and open poc.html

يطبع poc.html عرض التقدم لـ U+FFFF عند كل قراءة. وتعكس كل قيمة معرّف صورة رمزية يُقرأ من الفجوة. لمشاهدة وحدات بايت غير مهيأة غير صفرية، استخدم بنية MSan أو بنية mozjemalloc التي تملأ الذاكرة بقيم عشوائية. يتأثر النظام على Windows عبر DWrite وعلى macOS عبر CoreText. يعمل OTS داخل العملية دون حماية (sandbox).

الأثر

إفصاح عن ذاكرة كومة عملية غير مهيأة يمكن التحكم فيه عبر الويب وتكراره، ويمكنه كشف مؤشرات أو أسرار.

الإصلاح

تغييران؛ أيٌّ منهما يكفي لكسر السلسلة. صفِّر النطاق المُخصَّص حديثًا في تدفق مخرجات OTS. وتحقق من طول الجدول الفرعي ذي التنسيق 4 بحيث لا يمكن للبحث أن يحدد حدوده على بقية cmap. طبّق Firefox التغييرين معًا.

الشكر

Abdulaziz Alasaiqah · https://azoz.my/writeups.html

تنزيل الأداة