Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-98180 — CVE-2026-98180 के लिए प्रूफ-ऑफ-कॉन्सेप्ट और KASAN-पुष्ट KUnit रिप्रोड्यूसर, जो drm/msm में शेड्यूलर-युक्त रिंग और VM ऑब्जेक्ट्स का use-after-free है, जिसे अनप्रिविलेज्ड SYNC_IOC_FILE_INFO के माध्यम से पहुँचा जा सकता है। | Kitploit
उपकरण/GitHubGitHub/malhyuk/cve-2026-98180
मेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणफज़िंगपेपर और शोधलर्निंग और शिक्षा
GitHubmalhyuk/cve-2026-98180

CVE-2026-98180

CVE-2026-98180 के लिए प्रूफ-ऑफ-कॉन्सेप्ट और KASAN-पुष्ट KUnit रिप्रोड्यूसर, जो drm/msm में शेड्यूलर-युक्त रिंग और VM ऑब्जेक्ट्स का use-after-free है, जिसे अनप्रिविलेज्ड SYNC_IOC_FILE_INFO के माध्यम से पहुँचा जा सकता है।

रिपॉजिटरी देखें
18 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-98180 — drm/msm: स्केड्यूलर वाले रिंग/VM ऑब्जेक्ट्स का use-after-free

userspace को एक्सपोर्ट किया गया drm_sched_fence उस drm_gpu_scheduler के प्रति एक रॉ पॉइंटर रखता है जिसने उसे उत्पन्न किया था। drm/msm में वह स्केड्यूलर struct msm_ringbuffer और struct msm_gem_vm में एम्बेडेड है, और इन दोनों को साधारण kfree() से मुक्त किया गया था। इसलिए userspace के पास मौजूद एक पूर्ण हो चुका fence अपने स्केड्यूलर से अधिक जीवित रहता है, और बाद में SYNC_IOC_FILE_INFO — एक अविशेषाधिकार प्राप्त ioctl — drm_sched_fence_get_timeline_name() को मुक्त slab मेमोरी को डीरेफ़रेंस करने पर मजबूर कर देता है।

BUG: KASAN: slab-use-after-free in drm_sched_fence_get_timeline_name
Read of size 8

मूल कारण

drm_sched_fence_get_timeline_name() यह है: return fence->sched->name;।

स्केड्यूलर fence ops एक .release कॉलबैक रखते हैं, इसलिए सिग्नल होने पर fence ops-detached नहीं होता। sync_file या drm_syncobj के माध्यम से एक्सपोर्ट किया गया सिग्नल किया गया fence, रिंग या VM के मुक्त होने के बाद भी एम्बेडेड स्केड्यूलर की ओर इंगित करता रहता है। dma-fence लाइफ़टाइम अनुबंध के अनुसार, एक्सपोर्टर को सिग्नल किए गए fence के पीछे की डेटा को एक RCU grace period तक जीवित रखना चाहिए; drm/msm ने ऐसा नहीं किया।

फ़िक्स01c8d1f385f7 — drm/msm: RCU-free the scheduler-containing ring and VM objects
इनके द्वारा पेश किया गया1d8a5ca436ee (drm/msm: Conversion to drm scheduler), 92395af63a99 (drm/msm: Add VM_BIND submitqueue)
बैकपोर्ट किया गया6.18-stable, 7.2-stable (Greg Kroah-Hartman, 2026-09-22)
पहुँचअविशेषाधिकार प्राप्त — fence fd पर SYNC_IOC_FILE_INFO
प्रभावमुक्त slab का UAF रीड (info-leak / मुक्त ऑब्जेक्ट के name पॉइंटर का मनमाना रीड)

फ़िक्स दोनों कंटेनिंग ऑब्जेक्ट्स के लिए kfree() को kfree_rcu() से बदल देता है:

-	kfree(vm);
+	kfree_rcu(vm, rcu);
...
-	kfree(ring);
+	kfree_rcu(ring, rcu);

पुनरुत्पादन

यह बग सामान्य drm/sched लाइफ़टाइम हैंडलिंग में है, इसलिए यह KUnit mock स्केड्यूलर का उपयोग करके Adreno हार्डवेयर के बिना पुनरुत्पादित होता है। यही evidence/kasan-report.txt में साक्ष्य है।

cd poc && ./run-repro.sh            # applies 0001-…patch, builds KUnit + KASAN, runs
  • poc/0001-drm-sched-kunit-uaf-repro.patch — हार्डवेयर-स्वतंत्र KUnit पुनरुत्पादक (KASAN-पुष्ट)
  • poc/poc_userspace_drm_sched_uaf.c — प्रभावित ड्राइवर पर अविशेषाधिकार प्राप्त userspace ioctl अनुक्रम
  • poc/kunitconfig, poc/run-repro.sh — बिल्ड/रन हार्नेस
  • evidence/kasan-report.txt — KASAN slab-use-after-free रिपोर्ट

poc_userspace_drm_sched_uaf.c को AMD XDNA के विरुद्ध लिखा गया है, क्योंकि वह डिवाइस उपलब्ध था; यही आकार msm पर भी लागू होता है (MSM_SUBMITQUEUE / VM_BIND एक पूर्ण fence को sync_file_create() + fd_install() के माध्यम से एक्सपोर्ट करते हैं) और nouveau पर भी।

संबंधित

यही dma-fence लाइफ़टाइम वर्ग कोर में भी ठीक किया गया था: 3ed11c671ff7 — dma-buf/dma-fence: fix checking signaling bit for timeline and driver name v3 (लेखक Christian König; इस रेपो के लेखक द्वारा रिपोर्ट और परीक्षण किया गया)।

श्रेय

JongHyuk Kim(MalHyuk) — [email protected] द्वारा खोजा और ठीक किया गया। पैच पर Rob Clark और Greg Kroah-Hartman के sign-off हैं। Patchwork: https://patchwork.freedesktop.org/patch/750234/

लाइसेंस

पुनरुत्पादक कोड GPL-2.0 है, जो उन कर्नेल स्रोतों से मेल खाता है जिनसे यह व्युत्पन्न है।

टूल डाउनलोड करें