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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-23416-POC — CVE-2026-23416 के लिए POC (linux kernel 6.17 – linux kernel 7 rc5) - Antonius द्वारा खोजी गई कमजोरी | Kitploit
उपकरण/GitHubGitHub/bluedragonsecurity/cve-2026-23416-poc
भेद्यता विश्लेषणशोषणपेपर और शोधलर्निंग और शिक्षाबाइनरी शोषण
GitHubbluedragonsecurity/cve-2026-23416-poc

CVE-2026-23416-POC

CVE-2026-23416 के लिए POC (linux kernel 6.17 – linux kernel 7 rc5) - Antonius द्वारा खोजी गई कमजोरी

रिपॉजिटरी देखें

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
813 महीने पहलेअभी तक समीक्षित नहीं

CVE-2026-23416 — PoC

mm/mseal: मर्ज पर VMA अंत सही ढंग से अपडेट करें

एंटोनियस / ब्लू ड्रैगन सिक्योरिटी द्वारा खोजी गई कमजोरी


अवलोकन

फ़ील्डविवरण
CVE IDCVE-2026-23416
उपप्रणालीmm/mseal — mm/vma.c
प्रभावितलिनक्स कर्नेल 6.17 से 7.0-rc5 तक
में फिक्सलिनक्स 7.0-rc6, स्थिर बैकपोर्ट 6.18.21, 6.19.11
आवश्यक पहुंचअनविशेषाधिकार प्राप्त उपयोगकर्ता (UID 1000, कोई क्षमता नहीं)
उपयोग किए गए सिसकॉलmemfd_create, mmap, mseal
पुनरुत्पादन क्षमता100% नियतात्मक, < 1 सेकंड
आरक्षित2026-01-13
प्रकाशित2026-04-02

कमजोरी का विवरण

यह बग mm/mseal.c में mseal_apply() में स्थित है। mseal(2) सिसकॉल लागू करने के लिए VMA पर पुनरावृति करते समय, फ़ंक्शन curr_start और curr_end का उपयोग करके स्थिति ट्रैक करता है:

root@kitploit:~
/* फिक्स से पहले सरलीकृत तर्क */
curr_end = vma->vm_end;
/* ... VMA प्रक्रिया करें ... */
curr_start = curr_end;  /* अगले VMA पर जाएं */

समस्या: पुनरावृति के दौरान कॉल किया जाने वाला vma_modify_flags() VMA को मर्ज कर सकता है, जिससे vma->vm_end स्थान पर बदल जाता है। यह मर्ज से पहले कैप्चर किए गए curr_end मान को बासी बना देता है। अगली पुनरावृति पर, curr_start अब बासी curr_end पर सेट होता है, जिससे गलत प्रारंभिक पता उत्पन्न होता है।

डिबग कर्नेल (CONFIG_DEBUG_VM) में, यह असंगत vmg स्थिति ट्रिगर करती है:

root@kitploit:~
VM_WARN_ON_VMG(middle &&
    ((middle != prev && vmg->start != middle->vm_start) ||
     vmg->end > middle->vm_end))

mm/vma.c:830 पर, एक कर्नेल WARNING उत्पन्न करती है।

प्रोडक्शन कर्नेल में (WARN कोई-ऑप में संकलित), बासी curr_start बिना किसी दृश्य त्रुटि के चुपचाप आगे बढ़ता है — जिसका अर्थ है कि VM_SEALED को गलत पता श्रेणी पर लागू किया जा सकता है, mseal(2) द्वारा प्रदान की गई सुरक्षा गारंटी को कमजोर करता है।

कॉल पथ

root@kitploit:~
mseal(2)
  └─ do_mseal()              [mm/mseal.c]
       └─ mseal_apply()
            └─ vma_modify_flags()   [mm/vma.c]
                 └─ vma_modify()
                      └─ vma_merge_existing_range()
                           └─ VM_WARN_ON_VMG पंक्ति 830 पर फायर होता है

मूल कारण

root@kitploit:~
/* फिक्स से पहले — mm/mseal.c mseal_apply() */
curr_end = vma->vm_end;           // यहां कैप्चर किया गया
/* ... vma_modify_flags() VMA मर्ज कर सकता है, vma->vm_end बदल सकता है ... */
curr_start = curr_end;            // बासी! मर्ज प्रतिबिंबित नहीं हुआ

फिक्स प्रत्येक पुनरावृति पर किसी भी संभावित मर्ज के बाद बिना शर्त curr_end = vma->vm_end सेट करता है, और इसके अतिरिक्त curr_start/curr_end को इनपुट श्रेणी और VMA सीमाओं से प्राप्त const मानों के रूप में क्लैंप करता है:

root@kitploit:~
/* फिक्स के बाद */
curr_end = vma->vm_end;           // बिना शर्त, हमेशा ताज़ा

ट्रिगर के दौरान VMA लेआउट

PoC दूसरे mseal() कॉल से पहले निम्नलिखित लेआउट बनाता है:

root@kitploit:~
[0x21da6000 - 0x21de5fff]  VMA-A  (fd2, MAP_SHARED|MAP_FIXED) ← चरण 1 के बाद VM_SEALED
[0x21de6000 - 0x21e82fff]  VMA-B  (fd2, MAP_SHARED|MAP_FIXED) ← सील नहीं
[0x21e83000 - 0x21e84fff]  VMA-C  (बचा हुआ)

दूसरा mseal(m2, 0x70000) [0x21da6000 – 0x21e15fff] को लक्षित करता है, VMA-A (सील) से VMA-B (सील नहीं) तक फैला हुआ है। mseal_apply() के अंदर, VMA-A से बासी curr_end का उपयोग VMA-B प्रोसेस करते समय curr_start के रूप में किया जाता है, जिससे असंगत vmg स्थिति बनती है।


सुरक्षा प्रभाव

  1. अविशेषाधिकार प्राप्त उपयोगकर्ता स्पेस से पहुंच योग्य — केवल memfd_create + mmap + mseal की आवश्यकता है, कोई CAP_* आवश्यक नहीं।
  2. mseal(2) एक सुरक्षा प्रिमिटिव है — यह VMA अपरिवर्तनीयता की रक्षा करता है। इसके अनुप्रयोग में तर्क त्रुटि का अर्थ है कि मिश्रित सील स्थितियों वाले VMA को फैलाते समय VM_SEALED चुपचाप गलत तरीके से लागू हो सकता है।
  3. प्रोडक्शन में चुप — गैर-डिबग कर्नेल पर, असंगत स्थिति बिना किसी चेतावनी के आगे बढ़ती है, संभावित रूप से VMA ट्री को गलत सील स्थिति के साथ छोड़ देती है।

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

फ़ाइल: cve-2026-23416-poc.c

निर्माण

root@kitploit:~
gcc -o poc cve-2026-23416-poc.c

चलाएं

root@kitploit:~
./poc

अपेक्षित आउटपुट (डिबग कर्नेल CONFIG_DEBUG_VM के साथ)

root@kitploit:~
============================================
CVE-2026-23416-POC
Discoverकिया गया: Antonius / Blue Dragon Security
  https://bluedragonsec.com
  https://github.com/bluedragonsecurity
============================================
[iter 0]
[iter 1]
...
[+] WARNING कुल N बार ट्रिगर हुआ

dmesg जांचें:

root@kitploit:~
WARNING: CPU: X PID: Y at mm/vma.c:830 vma_merge_existing_range+0x...

आवश्यकताएं

  • लिनक्स कर्नेल 6.17 – 7.0-rc5
  • CONFIG_DEBUG_VM=y ताकि VM_WARN_ON_VMG देखा जा सके (प्रोडक्शन कर्नेल पर बग अभी भी मौजूद है लेकिन चुप है)
  • रूट या विशेष क्षमताओं की आवश्यकता नहीं

फिक्स

तीन अपस्ट्रीम फिक्स कमिट (7.0-rc6 और स्थिर बैकपोर्ट में लागू):

कमिटट्री
40b3f4700e55stable

फिक्स कर्नेल संस्करण: 7.0-rc6, 6.18.21, 6.19.11


संदर्भ

  • CVE-2026-23416 — cve.org
  • CVE-2026-23416 — NVD
  • तकनीकी लेख — Medium (@w1sdom)
  • ब्लू ड्रैगन सिक्योरिटी

प्रकटीकरण समयरेखा

तिथिघटना
2026-01-13CVE ID आरक्षित
2026-04-02CVE प्रकाशित, फिक्स कमिट मर्ज

लेखक

एंटोनियस (@w1sdom)
ब्लू ड्रैगन सिक्योरिटी — टैंगेरांग, इंडोनेशिया
GitHub: bluedragonsecurity


यह PoC शैक्षिक और अनुसंधान उद्देश्यों के लिए जारी किया गया है।

टूल डाउनलोड करें
83737e34b83a
stable
2697dd8ae721stable