
CVE-2026-5281 (Chrome Dawn WebGPU UAF) विश्लेषण, प्रयोगशाला सत्यापन उपकरण, तथा असुरक्षित बनाम पैच किए गए बिल्ड के लिए पुनरुत्पादनीय वातावरण।
यह भेद्यता उन ग्राहकों में से एक को प्रभावित करती थी जिन्हें हम सेवाएँ प्रदान करते हैं। यह रिपॉज़िटरी मूल शोध में हमारा योगदान है: समूह के लिए एक केंद्रीकृत प्रारंभिक बिंदु, ताकि यदि इस घटक को प्रभावित करने वाली समान भेद्यता फिर से सामने आए, तो हमारे पास पहले से ही आधार तैयार हो। इसमें बग के पीछे का सिद्धांत, मूल शोधकर्ता के निष्कर्षों का प्रलेखित सारांश, और प्रयोगशाला सेटिंग में जोखिम सत्यापित करने के लिए व्यावहारिक उपकरणों का एक सेट शामिल है।
ध्यान दें: मैं इस शोध का और अधिक हिस्सा साझा करना चाहता था, लेकिन कंपनी की बाध्यताओं के कारण मैं इसे आगे प्रकट नहीं कर सकता। यहाँ शामिल सब कुछ समीक्षा किया जा चुका है और उन किसी भी समझौतों का उल्लंघन नहीं करता जिनके मैं अधीन हूँ। इसलिए रिपॉज़िटरी अपनी वर्तमान स्थिति में संग्रहीत है।
1 अप्रैल, 2026 को, Google ने 21 भेद्यताओं को संबोधित करते हुए एक Chrome सुरक्षा अद्यतन जारी किया, जिनमें से एक, CVE-2026-5281, प्रकटीकरण के समय पहले से ही सक्रिय रूप से शोषित की जा रही थी। तीन दिन बाद, CISA ने इसे Known Exploited Vulnerabilities सूची में जोड़ा और एक बाध्यकारी परिचालन निर्देश जारी किया जिसमें संघीय एजेंसियों को पैच करने का आदेश दिया गया। उस समय तक यह हमें प्रभावित कर चुकी थी।
यह रिपॉज़िटरी एक कारण से मौजूद है: ताकि अगली बार जब ऐसा कुछ हो, तो हमारे पास शुरुआत से शुरू करने के बजाय एक प्रारंभिक बिंदु हो। इसमें निम्नलिखित शामिल है:
जब आप समझना चाहते हैं कि कोई भेद्यता क्यों मौजूद है, तो आप इस बात से शुरुआत करते हैं कि सिस्टम किस उद्देश्य से बनाया गया था और उसे किन मान्यताओं के आधार पर डिज़ाइन किया गया था।
WebGPU ग्राफ़िक्स प्रोसेसिंग यूनिट पर रेंडरिंग और कंप्यूटेशन जैसे संचालन करने के लिए एक API प्रदान करता है। WebGPU OpenGL या OpenGL ES (एंबेडेड सिस्टम्स) को उजागर करने का प्रयास नहीं है। यह एक नया API है जो Direct3D 12, Metal और Vulkan जैसे आधुनिक API के विचारों पर आधारित है।
WebGPU, WebGL का आधुनिक प्रतिस्थापन है, जो पुराना GPU API है जिसे ब्राउज़र वर्षों से उपयोग कर रहे हैं। मुख्य अंतर यह है कि WebGPU को शुरू से ही सुरक्षा और स्पष्ट संसाधन प्रबंधन के लिए डिज़ाइन किया गया था। आप स्वयं हर बफ़र, टेक्सचर और पाइपलाइन के जीवनचक्र की घोषणा करते हैं। ब्राउज़र आपके JavaScript और GPU हार्डवेयर के बीच एक सत्यापन परत के रूप में कार्य करता है।
इस भेद्यता के केंद्र में मौजूद वस्तुएँ, निर्माण के क्रम में:``` GPUAdapter ← represents a physical GPU or software fallback └─ GPUDevice ← your logical connection to the adapter; owns everything ├─ GPUBuffer ← a chunk of GPU-accessible memory ├─ GPUShaderModule ← a compiled WGSL shader program ├─ GPUComputePipeline ← a shader wired to a pipeline layout ├─ GPUBindGroup ← binds buffers as inputs to a pipeline ├─ GPUCommandEncoder ← records a sequence of GPU commands └─ GPUQueue ← submits recorded commands to hardware
यहाँ जो नियम मायने रखता है: हर ऑब्जेक्ट GPUDevice के स्वामित्व में होता है। जब डिवाइस के पास अभी भी ऐसे कमांड लंबित हों जो उस बफ़र का संदर्भ देते हैं, तो उस बफ़र को नष्ट करना स्पेक के तहत स्पष्ट रूप से अवैध है। Dawn कार्यान्वयन को इसका पता लगाना और इसे अस्वीकार करना चाहिए। CVE-2026-5281 एक ऐसा मामला है जहाँ उसने ऐसा नहीं किया।
---
---
---
<div id='whatisdawn'/>
## ***⚙️ Dawn क्या है?***
- **[Dawn - ओपन-सोर्स WebGPU कार्यान्वयन](https://dawn.googlesource.com/dawn)**
> Dawn विकासाधीन WebGPU मानक का एक ओपन-सोर्स और क्रॉस-प्लेटफ़ॉर्म कार्यान्वयन है। यह एक नेटिव C++ API प्रदान करता है जो कुछ एक्सटेंशन के साथ WebGPU IDL को प्रतिबिंबित करता है।
Dawn, Chrome के अंदर मौजूद C++ लाइब्रेरी है जो WebGPU JavaScript कॉल्स को प्लेटफ़ॉर्म-नेटिव GPU कमांड्स में अनुवादित करती है। Windows पर यह D3D12 को लक्षित करती है, macOS पर यह Metal को लक्षित करती है, और Linux पर यह Vulkan को लक्षित करती है। यह Chrome के JavaScript इंजन और हार्डवेयर ड्राइवर के बीच बैठती है, और यह चार चीज़ों के लिए ज़िम्मेदार है: API कॉल्स को मान्य करना, कमांड्स को क्रमबद्ध करना, ऑब्जेक्ट के जीवनकाल को ट्रैक करना, और त्रुटियों को वापस JavaScript तक पहुँचाना।
CVE-2026-5281 जीवनकाल-ट्रैकिंग वाले हिस्से में मौजूद है। विशेष रूप से, यह इस बात में है कि Dawn GPU बफ़र ऑब्जेक्ट्स को कितने समय तक जीवित रखता है, जबकि उन्हें संदर्भित करने वाले कमांड अभी भी हार्डवेयर कतार पर निष्पादन के लिए लंबित हैं।```
JavaScript (V8)
│ WebGPU API calls
▼
Dawn (C++) - validates, serializes, tracks lifetimes, reports errors
│
▼
D3D12 (Windows) - Metal (macOS) - Vulkan (Linux)
│
▼
GPU hardware driver
│
▼
Physical GPU - shader cores, VRAM