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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
nvidia-gpu-security-poc — إثباتات المفاهيم (PoCs) والأدلة لثغرتين في برنامج تشغيل وحدات معالجة الرسوميات (GPU) من NVIDIA لنظام لينكس، أغلقهما البائع باعتبارهما سلوكًا متوقعًا/مقصودًا: تتبع عمليات GPU عبر معرّفات المستخدمين المختلفة (cross-UID) عبر NVML، وخطأ MMU غير مُميَّز في محرك النسخ Xid 31 عبر سباق في إيقاف تشغيل الوصول النظير (peer-access teardown race). | Kitploit
أدوات/GitHubGitHub/abhinavagarwal07/nvidia-gpu-security-poc
تحليل الثغرات الأمنيةالاستغلالجمع المعلوماتاختبار الاختراقأمان الأجهزة وإنترنت الأشياء
GitHubabhinavagarwal07/nvidia-gpu-security-poc

nvidia-gpu-security-poc

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

الأكثر شعبية

عرض الكل →

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

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

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

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

حول

إثباتات المفاهيم (PoCs) والأدلة لثغرتين في برنامج تشغيل وحدات معالجة الرسوميات (GPU) من NVIDIA لنظام لينكس، أغلقهما البائع باعتبارهما سلوكًا متوقعًا/مقصودًا: تتبع عمليات GPU عبر معرّفات المستخدمين المختلفة (cross-UID) عبر NVML، وخطأ MMU غير مُميَّز في محرك النسخ Xid 31 عبر سباق في إيقاف تشغيل الوصول النظير (peer-access teardown race).

مشاركة

برنامج تشغيل GPU من NVIDIA — نتيجتان أغلقهما NVIDIA باعتبارهما سلوكًا متوقعًا

كود إثبات المفهوم والأدلة الخام لنتيجتين في برنامج تشغيل GPU من NVIDIA لنظام Linux، كلتاهما أُبلغتا عبر برنامج VDP الخاص بـ NVIDIA وأغلقهما NVIDIA باعتبارهما سلوكًا مقصودًا/متوقعًا. نُشرت هذه النتائج لتوثيق السلوك وإمكانية إعادة إنتاجه؛ لا تحمل أي منهما CVE ولن يتم إصلاح أي منهما.

#النتيجةالتصنيفنتيجة البائعالدليل
1تتبع عن بُعد لعملية GPU عبر UIDs مختلفة عبر NVMLكشف معلومات (CWE-200 / CWE-862)"سلوك متوقع"؛ أُذن بالكشف العام كتابيًا في 2026-08-2001-nvml-cross-uid-telemetry/
2خطأ MMU في محرك النسخ Xid 31 بدون امتيازات عبر سباق تمزيق P2Pخطأ GPU، بدون امتيازات وحتمي"سلوك مقصود وبالتالي ليس خطأ"، أُغلق في 2026-08-0402-xid31-p2p-teardown-race/

اختُبر على برنامج التشغيل 595.71.05-open، A100-SXM4-80GB x4 (شبكة NV4 كاملة، بدون NVSwitch، MIG معطّل)، Ubuntu 24.04 / kernel 6.8.0، CUDA toolkit 12.9. كما أُعيد إنتاج النتيجة 1 على 565.57.01-open.

اقرأ هذا أولًا

النتيجة 1 هي كشف حقيقي عبر UIDs مختلفة. النتيجة 2 هي خطأ بتأثير غير مُثبت. ليستا بنفس القوة ولا تُقدَّمان على هذا النحو.

تُظهر النتيجة 2 أن مستخدمًا بدون امتيازات يمكنه بشكل حتمي إحداث خطأ في زوج GPU متصل عبر NVLink (5/5، منسوب إلى PID، مقابل 4/4 ضوابط سلبية نظيفة). وهي لا تُظهر أن الخطأ يستمر بعد انتهاء العملية المسبِّبة. لم يُؤخذ هذا القياس أبدًا — إذ أعادت الأداة ضبط GPU بشكل انعكاسي قبل الفحص، وتم إلغاء توفير العقدة قبل إمكانية تكراره. هناك دليلان مستقلان يشيران إلى أن الخطأ يزول ذاتيًا: كتالوج Xid من NVIDIA يصنّف Xid 31 بإجراء فوري RESTART_APP، وحقل Recovery Action في GPU نفسه قرأ None قبل إعادة الضبط. حتى يقوم شخص ما بتشغيل فحص ما بعد الإنهاء في 02-xid31-p2p-teardown-race/، تعامل مع هذا كخطأ بنصف قطر انفجار غير مُثبت، وليس كحرمان من الخدمة.

إذا كان لديك زوج NVLink متاح، فإن تلك التجربة الواحدة هي الأعلى قيمةً يمكن لأي شخص المساهمة بها هنا. تستغرق بضع دقائق.

بدء سريع

root@kitploit:~
git clone https://github.com/abhinavagarwal07/nvidia-gpu-security-poc
cd nvidia-gpu-security-poc
./capture_env.sh                     # سجّل أذونات جهاز مضيفك، برنامج التشغيل، الطوبولوجيا، خيارات /proc

# النتيجة 1 — تتطلب مستخدمًا ثانيًا يشغّل أي عبء عمل CUDA
(cd 01-nvml-cross-uid-telemetry/poc && make && ./nvml_harvest)

# النتيجة 2 — تتطلب GPU متصلين عبر NVLink. تُحدث خطأ في زوج GPU. لا تشغّلها على أجهزة مشتركة.
(cd 02-xid31-p2p-teardown-race/poc && ./build.sh && \
   CUDA_VISIBLE_DEVICES=0,1 ./p2p_teardown_race_verbose --a 0 --p 1)

مخرجات capture_env.sh هي ما يجب إرفاقه إذا أبلغت عن اختلاف عن نتائجنا — فهي تسجّل ls -l /dev/nvidia*، وإدخالات وضع الجهاز في /proc/driver/nvidia/params، وخيارات تحميل /proc (تغيير تحميل hidepid= يغيّر ما تُنتجه النتيجة 1)، والطوبولوجيا، وبرنامج التشغيل وإصدارات pynvml.

السلامة

تُحدث النتيجة 2 عمدًا خطأً في زوج GPU. تُنتج إدخالات Xid 31 في سجل النواة وقد تتطلب nvidia-smi --gpu-reset للمسح — وعلى أنظمة NVLink/NVSwitch من جيل Ampere، توثّق NVIDIA أن الاسترداد في حالة ارتباط الجذع المميت هو عملية على مستوى الشبكة بالكامل، وليست على مستوى GPU واحد. شغّلها فقط على أجهزة تملكها أو لديك إذن كتابي لتعطيلها، دون أي مستأجرين مشاركين. جرى كل الاختبار الأصلي على عقدة بمستأجر واحد يتحكم بها الباحثون بموجب عقد إيجار كتلة مُصرَّح به.

النتيجة 1 للقراءة فقط وسلبية. تقرأ بيانات تتبع يعرضها برنامج التشغيل بالفعل لكل مستخدم محلي؛ لا تكتب شيئًا ولا تحقن شيئًا.

الأدلة

يحتوي results/ في كل دليل على ملفات JSON الأصلية لنتائج كل تشغيل مُقيَّمة آليًا، وسطور dmesg الملتقطة لـ Xid، والضوابط الإيجابية والسلبية، وتدقيق امتيازات المراقب، والتقاطات البيئة من عقدة الاختبار. تم حجب معرّفات GPU UUID والأرقام التسلسلية للأجهزة وعناوين IP للعقد؛ ولم يُغيَّر أي شيء آخر.

التقارير

منشورات Full Disclosure للنتيجتين، بما في ذلك مراسلات البائع والجداول الزمنية للإفصاح: https://abhinavagarwal07.github.io

الترخيص

كود إثبات المفهوم والتوثيق: انظر LICENSE.

تنزيل الأداة