
إثبات المفهوم CVE-2021-29155
كان نظام تتبع النطاق للحساب المؤشري في المجال التخميني غير كافٍ.
كان من الممكن استخراج بيانات النواة عبر قناة جانبية.
هذا هو إثبات مفهوم حيث يمكنك قراءة ما يصل إلى 0x5fff بايت خارج الحدود بدءًا من آخر عنصر في الخريطة الخاصة بنا.
تم إصلاح هذه المشكلة في الإصدار 5.12 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/kernel/bpf/verifier.c?id=7fedb63a8307dda0ec3b8969a3b233a1dd7ea8e0 وتم نقلها إلى عدة أنوية LTS.
ومع ذلك، إذا كنت لا تزال مهتمًا بكيفية عمل ذلك ورؤية استغلال Spectre أثناء العمل، يمكنك تشغيل البرنامج مع صلاحيات sudo. عندها لن تعمل تخفيفات Spectre.
الاستخدام:
sudo ./bpf_exploit 0 3 0x0 0x5ff0
حيث أن 0 3 يتوافقان مع مؤشرين مختلفين، يعملان على نواة مادية مختلفة لكي يعمل الاستغلال.
لمزيد من المعلومات وشرح مفصل لهذه المشكلة، يمكنك إلقاء نظرة على أطروحة البكالوريوس الخاصة بي [لم تنته بعد الآن]