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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-68138 — लिनक्स qdisc रेट-टेबल रेस कंडीशन के लिए प्रूफ-ऑफ-कॉन्सेप्ट लोकल प्रिविलेज एस्केलेशन एक्सप्लॉइट, जो रूट प्राप्त करने के लिए BPF हीप ग्रूमिंग और पाइप लीक का उपयोग करता है। | Kitploit
उपकरण/GitHubGitHub/aramosf/cve-2026-68138
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणबाइनरी शोषण
GitHubaramosf/cve-2026-68138

CVE-2026-68138

लिनक्स qdisc रेट-टेबल रेस कंडीशन के लिए प्रूफ-ऑफ-कॉन्सेप्ट लोकल प्रिविलेज एस्केलेशन एक्सप्लॉइट, जो रूट प्राप्त करने के लिए BPF हीप ग्रूमिंग और पाइप लीक का उपयोग करता है।

रिपॉजिटरी देखें
336111 महीना पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

CVE-2026-68138: Linux qdisc rate-table race से लोकल root तक

CVE-2026-68138 लाइव exploit

इस रिपॉज़िटरी में CVE-2026-68138 के लिए एक proof-of-concept लोकल privilege-escalation exploit शामिल है, जो Linux traffic-control rate-table कोड में एक race है। परीक्षित QEMU वातावरण में, PoC बाहरी UID 1000 वाली एक सामान्य प्रक्रिया से प्रारंभिक user namespace में UID 0 वाले shell तक विशेषाधिकार बढ़ाता है।

चेतावनी

यह कोड जानबूझकर kernel heap स्थिति को भ्रष्ट करता है। इसे केवल एक अलग-थलग, disposable VM में उपयोग करें जो आपका अपना हो। race चूक जाने या समय से पहले cleanup होने पर guest panic कर सकता है। इसे किसी workstation, server या तृतीय-पक्ष प्रणाली पर न चलाएँ।

भेद्यता सारांश

qdisc_get_rtab() और qdisc_put_rtab() एक process-ग्लोबल single-linked list, qdisc_rtab_list, और एक साधारण non-atomic int refcnt का प्रबंधन करते हैं। ऐतिहासिक रूप से, callers RTNL mutex को धारण करते थे, जो list और reference count तक पहुँच को क्रमबद्ध करता था।

flower classifier TCF_PROTO_OPS_DOIT_UNLOCKED सेट करता है। एक flower rule के लिए एक RTM_NEWTFILTER अनुरोध परिणामस्वरूप बिना RTNL के police action तक पहुँच सकता है और qdisc rate-table helpers को कॉल कर सकता है:

tc_new_tfilter()
  -> fl_change()
     -> tcf_exts_validate_ex()
        -> tcf_action_init()
           -> tcf_police_init()
              -> qdisc_get_rtab()/qdisc_put_rtab()

एक ही rate table का उपयोग करने वाले समवर्ती अनुरोध ग्लोबल list और उसके reference count के साथ race कर सकते हैं। परिणाम struct qdisc_rate_table का use-after-free या double-free होता है, जो परीक्षित x86-64 kernel पर kmalloc-2k से आवंटित 1056-बाइट की वस्तु है।

चूँकि list per-network-namespace के बजाय ग्लोबल है, अलग-अलग network namespaces के अनुरोध अभी भी उसी object के साथ race करते हैं।

प्रभावित और सुधारित संस्करण

Linux CNA रिकॉर्ड introduction commit 470502de5bdb की पहचान करता है, जो Linux 5.1 में जारी हुआ।

लाइनस्थितिCommit/संस्करण
Linux 5.1 से पहलेप्रभावित नहींदोष लाने वाला परिवर्तन अनुपस्थित है
Linux 5.1 से 7.1.5 तकप्रभावित, जब तक vendor backport मौजूद न हो470502de5bdb से stable fix से पहले वाले commit तक
Linux 7.1.yसुधारित7.1.6, fb29e1b41052
Linux 7.2 विकास श्रृंखलाrc5 से पहले प्रभावितrc1 से rc4 तक
Mainlineसुधारित7.2-rc5, f43ee0c0730d

Distribution kernels अक्सर ऊपर दिखाए गए upstream संस्करण को बदले बिना fixes को backport करते हैं। जाँचें कि क्या दोनों में से कोई fixing commit—या समतुल्य qdisc rate-table spinlock परिवर्तन—सिस्टम द्वारा उपयोग किए गए सटीक kernel source में मौजूद है।

Exploit को भेद्य commit 92d3817649df2b0b6a008a686c8275c88d7ef594 के विरुद्ध विकसित और मान्य किया गया था, जो mainline fix का प्रत्यक्ष parent है। fixed-kernel नियंत्रण ने f43ee0c0730d6191629b5ee1ceae27b1ebfdc047 का उपयोग किया।

Ubuntu वितरण स्थिति

2026-08-12 तक, Ubuntu CVE tracker खोज ने इस CVE के लिए कोई प्रविष्टि नहीं लौटाई। इसलिए नीचे दी गई तालिका एक प्रत्यक्ष स्रोत निरीक्षण है, न कि Canonical security-status निर्धारण। प्रत्येक लिंक किया गया Ubuntu tag अभी भी बिना lock वाला qdisc_rtab_list रखता है और fixing qdisc_rtab_lock से रहित है।

Ubuntu लाइननिरीक्षित पैकेज/tagस्रोत परिणाम
Ubuntu 22.04 GA5.15.0-187.197भेद्य कोड मौजूद; QEMU में पूर्ण exploit पुनरुत्पादित
Ubuntu 22.04 HWE6.8.0-136.136~22.04.1भेद्य कोड मौजूद; exploit श्रृंखला परीक्षित नहीं
Ubuntu 24.04 HWE7.0.0-28.28~24.04.1भेद्य कोड मौजूद; यह exploit श्रृंखला इसके allocator hardening के साथ संगत नहीं है
Ubuntu 26.047.0.0-28.28भेद्य कोड मौजूद; यह exploit श्रृंखला इसके allocator hardening के साथ संगत नहीं है

उस निरीक्षण तिथि पर कोई सुधारित Ubuntu पैकेज की पहचान नहीं हुई। भविष्य के Ubuntu पैकेजों को केवल उनके संस्करण संख्या से आँकने के बजाय लिंक किए गए upstream fixes के समकक्ष backport के लिए जाँचा जाना चाहिए।

बिल्ड-विशिष्ट Ubuntu 22.04 exploit, QEMU lab, सटीक image checksum और शर्तें ubuntu/README.md में प्रलेखित हैं। इसे memory-cgroup accounting सक्षम के साथ आधिकारिक 5.15.0-187-generic #197-Ubuntu kernel के विरुद्ध मान्य किया गया था।

मुख्य PoC के लिए आवश्यक शर्तें

अंतर्निहित bug और यह विशेष exploit श्रृंखला अलग-अलग आवश्यकताएँ रखते हैं। PoC को निम्न के साथ मान्य किया गया:

  • x86-64 Linux और चार virtual CPUs;
  • विशेषाधिकार-रहित user namespaces और network namespaces सक्षम;
  • CONFIG_USER_NS=y और CONFIG_NET_NS=y;
  • CONFIG_NET_CLS=y, CONFIG_NET_CLS_FLOWER=y, CONFIG_NET_CLS_ACT=y, और CONFIG_NET_ACT_POLICE=y;
  • classic BPF socket filters और BPF JIT समर्थन;
  • CONFIG_TMPFS_XATTR=y simple_xattr heap spray के लिए;
  • CONFIG_MODULES=y और अंतिम root helper के लिए एक उपयोग योग्य /sbin/modprobe;
  • CONFIG_MEMCG=n, ताकि इस श्रृंखला द्वारा उपयोग किए गए qdisc/BPF/pipe/xattr आवंटन अपेक्षित kmalloc-2k cache साझा करें;
  • कम से कम 4096 की per-process file-descriptor सीमा; और
  • लगभग 5 GiB RAM वाला एक disposable VM।

CONFIG_SLAB_BUCKETS=y, freelist randomization और freelist hardening सफल परीक्षण kernel में सक्षम थे। KASLR को किसी hard-coded address से स्वाभाविक रूप से bypass नहीं किया जाता: PoC आवश्यक page और operations pointers को pipe leak से प्राप्त करता है। दिया गया lab डिबगिंग को सरल बनाने के लिए nokaslr का उपयोग करता था।

memory-cgroup accounting सक्षम या भिन्न allocator/cache लेआउट वाले kernels को एक भिन्न reclaim रणनीति की आवश्यकता होती है। PoC जानबूझकर मनमानी distribution configurations में portability का दावा करने से इनकार करता है।

अलग Ubuntu variant उस भिन्न reclaim रणनीति को लागू करता है; इसकी आवश्यकताएँ जानबूझकर संकुचित हैं और ubuntu/README.md में सूचीबद्ध हैं।

शोषण प्रक्रिया

1. qdisc race को ट्रिगर करें

चार worker थ्रेड्स अलग-अलग network namespaces में प्रवेश करती हैं और police actions के साथ flower filters बनाती हैं। तीन workers सफल action पथ अपनाते हैं; एक worker दोनों rate-table references प्राप्त करने के बाद जानबूझकर अमान्य estimator प्रदान करता है, जिससे cleanup पथ बाध्य होता है। यह संयोजन workers के बीच flower classifier state साझा किए बिना समवर्ती reference-count और list manipulation को पुनरुत्पादनीय बनाता है।

2. classic BPF के साथ qdisc_rate_table को reclaim करें

प्रत्येक netlink अनुरोध के बाद, वही CPU तुरंत 133-निर्देश वाला classic-BPF filter संलग्न करता है। इसकी 1064-बाइट instruction array kmalloc-2k से आवंटित होती है और इस प्रकार आकारित होती है कि qdisc_rate_table.next और qdisc_rate_table.refcnt को अतिव्याप्त करने वाले bytes प्रारंभ में मान्य बने रहें।

अंतिम निर्देश में एक per-socket marker होता है। SO_GET_FILTER PoC को यह पता लगाने में सक्षम बनाता है कि किसी socket का orig_prog->filter pointer कब किसी अन्य live BPF आवंटन की ओर पुनर्निर्देशित किया गया है। इससे दो socket objects उसी instruction buffer का संदर्भ देते हुए प्राप्त होते हैं।

3. alias को pipe leak में परिवर्तित करें

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