
NVIDIA Linux GPU ड्राइवर की दो खोजों के लिए PoCs और साक्ष्य, जिन्हें विक्रेता द्वारा अपेक्षित/इच्छित व्यवहार के रूप में बंद किया गया: NVML के माध्यम से क्रॉस-UID GPU प्रक्रिया टेलीमेट्री, और पीयर-एक्सेस टियरडाउन रेस के माध्यम से एक अन-प्रिविलेज्ड Xid 31 कॉपी-इंजन MMU फॉल्ट।
NVIDIA Linux GPU ड्राइवर में दो निष्कर्षों के लिए प्रूफ-ऑफ-कॉन्सेप्ट कोड और कच्चे साक्ष्य, दोनों NVIDIA के VDP के माध्यम से रिपोर्ट किए गए और दोनों को NVIDIA द्वारा इच्छित/अपेक्षित व्यवहार के रूप में बंद किया गया। प्रकाशित किया गया ताकि व्यवहार प्रलेखित और पुनरुत्पादनीय हो; किसी के पास CVE नहीं है और न ही इसे ठीक किया जाएगा।
| # | निष्कर्ष | वर्ग | विक्रेता परिणाम | निर्देशिका |
|---|
| 1 | NVML के माध्यम से क्रॉस-UID GPU प्रक्रिया टेलीमेट्री | सूचना प्रकटीकरण (CWE-200 / CWE-862) | "अपेक्षित व्यवहार"; सार्वजनिक प्रकटीकरण लिखित रूप में 2026-08-20 को अधिकृत | 01-nvml-cross-uid-telemetry/ |
| 2 | P2P टियरडाउन रेस के माध्यम से अनविशेषाधिकृत Xid 31 कॉपी-इंजन MMU फॉल्ट | GPU फॉल्ट, अनविशेषाधिकृत और नियतात्मक | "इच्छित व्यवहार और इस प्रकार बग नहीं है", 2026-08-04 को बंद | 02-xid31-p2p-teardown-race/ |
ड्राइवर 595.71.05-open, A100-SXM4-80GB x4 (NV4 फुल मेश, कोई NVSwitch नहीं, MIG बंद), Ubuntu 24.04 / कर्नेल 6.8.0, CUDA टूलकिट 12.9 पर परीक्षण किया गया। निष्कर्ष 1 को 565.57.01-open पर भी पुनरुत्पादित किया गया।
निष्कर्ष 1 एक वास्तविक क्रॉस-UID एक्सपोज़र है। निष्कर्ष 2 एक अप्रमाणित-प्रभाव वाला फॉल्ट है। वे समान रूप से मजबूत नहीं हैं और उन्हें ऐसा प्रस्तुत नहीं किया गया है।
निष्कर्ष 2 दर्शाता है कि एक अनविशेषाधिकृत उपयोगकर्ता नियतात्मक रूप से एक NVLink GPU जोड़ी को फॉल्ट कर सकता है
(5/5, PID-आरोपित, 4/4 स्वच्छ नकारात्मक नियंत्रणों के विरुद्ध)। यह नहीं दर्शाता कि
फॉल्ट ट्रिगर करने वाली प्रक्रिया से अधिक समय तक जीवित रहता है। वह माप कभी नहीं लिया गया — हार्नेस ने
प्रोबिंग से पहले प्रतिवर्ती रूप से GPU को रीसेट कर दिया, और नोड को दोहराए जाने से पहले डीप्रोविज़न कर दिया गया। दो
स्वतंत्र साक्ष्य तर्क देते हैं कि फॉल्ट स्वयं-साफ़ हो जाता है: NVIDIA की Xid सूची Xid 31 को तत्काल क्रिया
RESTART_APP के साथ वर्गीकृत करती है, और GPU का अपना रिकवरी एक्शन फ़ील्ड रीसेट से पहले None पढ़ता है।
जब तक कोई 02-xid31-p2p-teardown-race/ में पोस्ट-किल कैनरी नहीं चलाता,
इसे अप्रमाणित विस्फोट त्रिज्या वाले फॉल्ट के रूप में मानें, न कि सेवा से वंचित करने के रूप में।
यदि आपके पास एक अतिरिक्त NVLink जोड़ी है, तो वह एक प्रयोग सबसे उच्च-मूल्य वाली चीज़ है जो कोई भी यहां योगदान कर सकता है। इसमें कुछ मिनट लगते हैं।
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 — दो NVLink-कनेक्टेड GPU की आवश्यकता है। एक 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 की आवश्यकता हो सकती है — और Ampere-पीढ़ी NVLink/NVSwitch सिस्टम पर
NVIDIA दस्तावेज़ित करता है कि घातक-ट्रंक-लिंक मामले में पुनर्प्राप्ति एक फैब्रिक-व्यापी ऑपरेशन है, न कि
एकल-GPU वाला। इसे केवल उस हार्डवेयर पर चलाएं जिसके मालिक आप हैं या जिसे बाधित करने के लिए आपके पास लिखित प्राधिकरण है, बिना किसी सह-किरायेदार के। सभी मूल परीक्षण एक अधिकृत क्लस्टर लीज़ के तहत एकमात्र-किरायेदार, शोधकर्ता-नियंत्रित नोड पर किए गए थे।
निष्कर्ष 1 केवल-पठनीय और निष्क्रिय है। यह टेलीमेट्री पढ़ता है जिसे ड्राइवर पहले से ही हर स्थानीय उपयोगकर्ता को उजागर करता है; यह कुछ भी नहीं लिखता और कुछ भी इंजेक्ट नहीं करता।
प्रत्येक निर्देशिका में results/ मूल मशीन-स्कोर किए गए प्रति-रन निर्णय JSON, कैप्चर किए गए
dmesg Xid लाइनें, सकारात्मक और नकारात्मक नियंत्रण, पर्यवेक्षक विशेषाधिकार ऑडिट, और पर्यावरण
कैप्चर परीक्षण नोड से रखता है। GPU UUID, हार्डवेयर सीरियल और नोड IP संपादित हैं; और कुछ भी
परिवर्तित नहीं किया गया है।
दोनों निष्कर्षों के लिए फुल डिस्क्लोज़र पोस्ट, जिसमें विक्रेता पत्राचार और प्रकटीकरण समयरेखाएँ शामिल हैं: https://abhinavagarwal07.github.io
PoC कोड और दस्तावेज़ीकरण: LICENSE देखें।