
إثبات مفهوم (PoC) توضيحي لـ CVE-2022-21877 (تسرب ذاكرة في وحدة تحكم مساحات التخزين)
يحتوي هذا المستودع على إثبات المفهوم لـ CVE-2022-21877، الذي اكتشفه Quang Linh، العامل في STAR Labs. وهو تسرب معلومات موجود داخل برنامج التشغيل spaceport.sys.
يمكن العثور على مقال مصاحب على هذا الرابط.
لبناء إثبات المفهوم، قم بتشغيل .\build.
لتشغيله، تحتاج إلى مجموعة تخزين على جهازك يمكنها الحصول على طبقة. في اختباراتي، هذا يعني وجود مجموعتي تخزين على الأقل، المجموعة الأولية وأخرى. كل هذا لأن المجموعة الأولية لا يمكنها أن تحتوي على طبقة مرفقة.
للحصول على التكوين اللازم، يمكنك إعداد 3 أقراص افتراضية على جهاز افتراضي. سيتم استخدامها تلقائيًا كمجموعة أولية من قبل Microsoft. يمكنك بعد ذلك إعادة التشغيل، وإضافة قرصين افتراضيين آخرين. يمكنك بعد ذلك إنشاء مجموعة التخزين الثانية بالأمر التالي، كمسؤول:
New-StoragePool -FriendlyName Pool2 -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks (Get-PhysicalDisk -CanPool $True)
بعد إعداد كل شيء، قم بتشغيل إثبات المفهوم كمسؤول عن طريق تزويده بـ "FriendlyName" لمجموعة التخزين القابلة للاستخدام (على سبيل المثال التي أنشأتها للتو).
يسمح هذا الإثبات بتسريب بيانات غير خاضعة للتحكم تقع بعد المُخزن المؤقت للنظام. كما هو موضح في المقال، لم أتمكن من إحداث تسريب خاضع للتحكم لكائن نواة معين. إليك كيف يبدو:
