
إثبات مفهوم لتصعيد الامتيازات محليًا لثغرة CVE-2026-64531 يستغل مسار بيانات النواة في OVS لإفساد بيانات الاعتماد والحصول على صلاحيات الجذر عبر حقن sudoers.
[!WARNING] يُقدَّم هذا البرهان المفاهيمي (PoC) فقط لمساعدة المدافعين، ومطوّري الصيانة، وفرق الأمن المصرَّح لهم على التحقق من التصحيحات، والتخفيفات، وكشوفات الحماية، ومدى التعرّض على الأنظمة التي يملكونها أو التي صرِّح لهم صراحةً باختبارها.
أنت وحدك المسؤول عن ضمان أن استخدامك لهذه المادة قانوني، ومصرَّح به، ومضبوط، ويتم في بيئة اختبار معزولة.
[!WARNING] هذا البرهان المفاهيمي (PoC) مُدمِّر. عند نجاحه، يُفسد بيانات اعتماد (credential) حيّة في النواة، ويعدّل
/etc/sudoers.dأو/etc/sudoers، ويفتح صدفة جذر (root shell)، ويترك عمليات منفصلة وحالة OVS تالفة قيد التشغيل لتجنّب إيقاف تشغيل غير آمن.شغّله فقط في جهاز افتراضي مُستهلك/مضيف مؤقت. إعادة التشغيل توقف العمليات المتبقية لكنها لا تتراجع عن تعديل sudoers.
يقوم البرهان المفاهيمي بما يلي:
nla_len مولّدًا لإجراءات متداخلةsudo -n bash.يفترض البرهان المفاهيمي ويستهدف x86-64 لتبسيط الأمور. نظريًا، لا ينبغي أن تكون الثغرة مقيّدة بمعمارية معيّنة.
unshare -Urn)sudo، bash، unshare، وidشغّله كمستخدم غير مميَّز مع وجود إدخال passwd له.
python3 ovswrap-poc.py
سيحاول البرهان المفاهيمي تلقائيًا استخدام unshare -Urn وسيعتمد على aa-exec -p trinity -- unshare -Urn كبديل إذا كان محظورًا بواسطة AppArmor.
يحتوي البرهان المفاهيمي على قيم مشتقّة مسبقًا لـ ~800 بناء دقيق لنواة x86-64، تُطابَق باستخدام:
uname -r
uname -v
uname -m
لا يحتاج السجل المطابق إلى رموز محلية، أو BTF، أو حزمة تصحيح (debug package)، أو pahole. بالنسبة لبناء غير مشمول، يطلب البرهان المفاهيمي التأكيد ثم يحاول الاشتقاق الديناميكي من:
System.map أو /proc/kallsyms غير الصفري؛pahole، والذي يجب أن يكون مثبَّتًا مسبقًا.الفشل في اشتقاق القيم لا يعني أن النواة غير متأثرة، إذ يمكن أن يفشل الاشتقاق الديناميكي لعدة أسباب؛ راجع الكتابة الفنية لمعرفة طرق أفضل لتحديد ما إذا كنت متأثرًا.