Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-36355 — CVE-2026-36355: Realtek rtl819x Jungle SDK - डिबग ioctls के माध्यम से अप्रमाणित कर्नेल मेमोरी रीड/राइट | Kitploit
उपकरण/GitHubGitHub/totekuh/cve-2026-36355
एम्बेडेड सिस्टम सुरक्षाविशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणवायरलेस सुरक्षाहार्डवेयर सुरक्षाबाइनरी शोषण
GitHubtotekuh/cve-2026-36355

CVE-2026-36355

CVE-2026-36355: Realtek rtl819x Jungle SDK - डिबग ioctls के माध्यम से अप्रमाणित कर्नेल मेमोरी रीड/राइट

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

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

सभी देखें →

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

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

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

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

CVE-2026-36355: Realtek rtl819x Jungle SDK - Debug ioctls के माध्यम से बिना प्रमाणीकरण के कर्नेल मेमोरी रीड/राइट

  • CVE: CVE-2026-36355
  • CWE: CWE-782, CWE-787, CWE-200
  • खोजकर्ता: Daniil Gordeev
  • प्रकटीकरण तिथि: 2026-05-03

सारांश

Realtek rtl819x आउट-ऑफ-ट्री "Jungle SDK" में स्थित rtl8192cd वाई-फाई कर्नेल ड्राइवर दो IOCTL — write_mem (0x89F5) और read_mem (0x89F6) को बिना किसी एक्सेस-नियंत्रण जाँच के उजागर करता है। ड्राइवर द्वारा समर्थित किसी भी वायरलेस नेटवर्क इंटरफ़ेस को खोलने में सक्षम कोई भी स्थानीय उपयोगकर्ता मनमानी कर्नेल वर्चुअल मेमोरी पढ़ या लिख सकता है, जो सीधे रूट तक ले जाता है।

हैंडलर 8192cd_cfg.h में _IOCTL_DEBUG_CMD_ द्वारा गेटेड हैं, जो बिना शर्त परिभाषित है (कोई #ifdef DEBUG नहीं), इसलिए डीबग कमांड सेट सभी प्रोडक्शन बिल्ड में संकलित होता है।

एक संदर्भ एक्सप्लॉइट (kpwn) एक अविशेषाधिकार प्राप्त शेल से uid=0 प्राप्त करता है, बिना किसी हार्डकोडेड पते के — task_struct लेआउट और init_task स्थान दोनों रनटाइम पर स्वतः पहचाने जाते हैं, जिससे यह कर्नेल संस्करणों और OEM बिल्डों में पोर्टेबल बन जाता है।

प्रभावित उत्पाद

यह कमजोरी Realtek rtl819x Jungle SDK कर्नेल वाई-फाई ड्राइवर में है, सभी ज्ञात संस्करण v3.4.14B तक। प्रकटीकरण के समय कोई फिक्स नहीं। मेनलाइन Linux rtlwifi / rtw88 / rtw89 अलग कोडबेस हैं और प्रभावित नहीं हैं।

साझा ड्राइवर कोर कई वेरिएंट में संकलित होता है (rtl8192cd, rtl8192es, rtl8192ee, rtl8192fe, rtl8188ee, आदि)। कोई भी Jungle SDK बिल्ड जिसमें वाई-फाई ड्राइवर शामिल है, प्रभावित है।

संभावित रूप से प्रभावित — प्रति-उत्पाद सत्यापन आवश्यक

Realtek Jungle SDK OEM अनुबंधों के तहत व्यापक रूप से पुनर्वितरित किया जाता है। CVE-2021-35395 विक्रेता सूची (जो उसी SDK के एक अलग, यूजरस्पेस घटक को लक्षित करता था) में प्रलेखित विक्रेताओं में D-Link, TOTOLINK, Tenda, NEC, I-O DATA, Elecom, Buffalo, Humax, H3C और IP-COM शामिल हैं। प्रत्येक विशिष्ट उत्पाद लाइन कमजोर कर्नेल ड्राइवर भेजती है या नहीं, इसके लिए प्रति-उत्पाद GPL स्रोत रिलीज़ का निरीक्षण आवश्यक है; यह एडवाइज़री स्वतंत्र सत्यापन के बिना यह दावा नहीं करती।

परीक्षण वातावरण

डिवाइसOrtel 4G LTE CPE (OEM: MeiG Smart FORGE_SLT711)
SoCQualcomm MDM9607, ARMv7 Cortex-A7
कर्नेलLinux 3.18.48
मॉड्यूल

पुष्टि की गई: मॉड्यूल .bss में 0xDEADBEEF की लिखाई, रीड-बैक और पुनर्स्थापना के साथ; एक अविशेषाधिकार प्राप्त शेल से init_task वॉक और क्रेडेंशियल ओवरराइट के माध्यम से uid=1000 से uid=0 तक पूर्ण LPE।

तकनीकी विवरण

मूल कारण

8192cd_cfg.h में:

root@kitploit:~
#define _IOCTL_DEBUG_CMD_

#ifdef DEBUG द्वारा गेटेड नहीं। डीबग कमांड सेट हर प्रोडक्शन बिल्ड में भेजा जाता है।

कमजोर हैंडलर

ड्राइवर का rtl_ioctl() डिस्पैचर 0x89F5 और 0x89F6 (वायरलेस ड्राइवरों द्वारा वेंडर एक्सटेंशन के लिए उपयोग की जाने वाली मानक SIOCDEVPRIVATE+5/+6 प्राइवेट-IOCTL रेंज में) को write_mem और read_mem पर रूट करता है। हैंडलर उपयोगकर्ता द्वारा आपूर्ति की गई स्ट्रिंग को पार्स करते हैं:

  • रीड: dw,<addr>,<count> — कर्नेल वर्चुअल पता addr से count 32-बिट शब्द पढ़ें
  • राइट: dw,<addr>,<count>,<value> — value के count 32-बिट शब्द addr पर लिखें

पता _atoi(base 16) के साथ पार्स किया जाता है, कर्नेल वर्चुअल एड्रेस स्पेस के विरुद्ध memcpy() में पारित किया जाता है, और परिणाम copy_to_user() के माध्यम से वापस भेजा जाता है। वहाँ है:

  • कोई capable() जाँच नहीं
  • पते पर कोई access_ok() जाँच नहीं
  • पता रेंज पर कोई बाउंड जाँच नहीं
  • कोई लॉकिंग नहीं — डीबग कमांड सेट के सभी 59 IOCTL .bss में एक ही 2000-बाइट वैश्विक बफर (tmpbuf1) साझा करते हैं

रीड प्रिमिटिव प्रति कॉल 128 बाइट्स तक सीमित है; राइट प्रिमिटिव मनमानी लंबाई स्वीकार करता है।

यही एक्सेस-नियंत्रण अंतर डीबग सेट के अन्य हैंडलरों पर भी लागू होता है (हार्डवेयर रजिस्टर R/W 0x89F3/0x89F4/0x89F8–0x89FD के माध्यम से, MIB राइट 0x89F1 के माध्यम से, eFuse R/W, मैन्युफैक्चरिंग टेस्ट मोड)। वे उसी कोड पथ के माध्यम से पहुंच योग्य हैं और इस बग को पैच करने वाले किसी भी व्यक्ति द्वारा पूर्ण ऑडिट की आवश्यकता है।

प्रूफ ऑफ कॉन्सेप्ट

kpwn - MeiG FORGE_SLT711 (Ortel 4G LTE CPE), कर्नेल 3.18.48 पर uid=1000 से uid=0 तक

संदर्भ एक्सप्लॉइट kpwn.c (इस एडवाइज़री के साथ प्रकाशित):

  • किसी भी अविशेषाधिकार प्राप्त उपयोगकर्ता के रूप में चलता है, रूट की आवश्यकता नहीं।
  • कर्नेल .data के ब्रूट-फोर्स स्कैन द्वारा स्थित init_task को चलकर task_struct ऑफसेट (comm, cred, tasks, pid) स्वतः पहचानता है।
  • रीड प्रिमिटिव के लिए प्रत्येक /sys/class/net/* को प्रोब करके कमजोर इंटरफ़ेस स्वतः पहचानता है।
  • जब /proc/kallsyms पठनीय हो तो 44 IOCTL, kptr_restrict=2 होने पर ~7600 IOCTL (पूर्ण .data स्कैन पथ)। हर परीक्षण रन पर बिना शर्त रूट शेल देता है।
root@kitploit:~
# Build:
arm-linux-gnueabi-gcc -static -O2 -o kpwn kpwn.c

# Run as unprivileged user:
$ id
uid=1000(pwn) gid=3003(inet) ...
$ /tmp/kpwn
kpwn — RTL8192CD kernel LPE
[*] Scanning interfaces...
[+] wlan0 — read primitive confirmed
[*] Resolving init_task...
[+] init_task @ 0xc08ecb38
[+] comm=0x3a8 cred=0x3a4 tasks=0x250 pid=0x2c0
[+] cred=0xed3a4500 uid=1000 gid=3003
[*] Overwriting credentials...
[+] uid=0 euid=0 gid=0 egid=0
*** GOT ROOT *** uid=1000 -> 0 (44 ioctls)
# id
uid=0(root) gid=0(root) groups=0(root)
टूल डाउनलोड करें
rtl8192es.ko
दिनांक2026-02-23