
CVE-2024-0519 root cause analysis
مصنّفات تحليل السبب الجذري لـ CVE-2024-0519 (وصول خارج النطاق للذاكرة في V8، كروم 120، تم استغلاله في البرية).
الإصلاح: e0f2a195d87c9a06685121e0e783efd92d030df3 — Toon Verwaest، 2024-01-12
إصدار V8 المدروس: 12.0.267.16 (fbc4963bbff)، ARM64 macOS
| المسار | الوصف |
|---|---|
harness/test-toctou-race.cc | اختبار cctest بلغة C++ يؤكد نافذة سباق TOCTOU في GetOwnFastDataPropertyFromHeap |
harness/test-toctou-chain.cc | اختبار cctest بلغة C++ يوضح حشوًا مضمّنًا كـ HeapConstant عبر خط أنابيب الوسيط (broker) |
js/poc_325020448.js | مشغّل JS بدون intrinsics لـ chromium:325020448 (خطأ شقيق، لا يوجد CVE عام) |
js/regress_325020448.js | اختبار الانحدار الرسمي لـ V8 لـ chromium:325020448 (يتطلب --allow-natives-syntax) |
patches/e0f2a195.md | بيانات وصفية لالتزام الإصلاح |
# d8 قبل التصحيح (V8 12.0.267.16، التزام واحد قبل e0f2a195)
./d8 --concurrent-recompilation js/poc_325020448.js
# اختبارات cctest بلغة C++ — ادمجها في بناء cctest الخاص بـ V8، ثم:
./cctest test-toctou-race/ToctouRaceDeleteProperty
./cctest test-toctou-chain/EndToEndChainInstallNoPatch
./cctest test-toctou-chain/ConsequenceJSConsumption
راجع BUILD.md لتعليمات البناء.
خطأ شقيق في نفس فئة PropertyConstness::kConst — الثبات غير معمَّم عبر انتقالات النموذج الأولي (prototype transitions). تم إصلاحه بواسطة 496f467bb72 (19 فبراير 2024)، بعد خمسة أسابيع من إصلاح CVE-2024-0519. لا يوجد CVE عام مخصص له. يؤثر على كروم 122 (بعد تصحيح CVE-2024-0519) حتى كروم 123.
js/poc_325020448.js يُشغّله دون أي أعلام V8 natives.