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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-59346-POC — CVE-2026-59346 के लिए PoC - VMware के VMXNET3 TSO सेगमेंटेशन पथ में 32-बिट पूर्णांक ओवरफ़्लो, गेस्ट-से-होस्ट क्रैश। | Kitploit
उपकरण/GitHubGitHub/0xcyberstan/cve-2026-59346-poc
भेद्यता विश्लेषणशोषणसुरक्षा वर्चुअलाइजेशनहार्डवेयर और IoT सुरक्षापेपर और शोधबाइनरी शोषण
GitHub0xcyberstan/cve-2026-59346-poc

CVE-2026-59346-POC

CVE-2026-59346 के लिए PoC - VMware के VMXNET3 TSO सेगमेंटेशन पथ में 32-बिट पूर्णांक ओवरफ़्लो, गेस्ट-से-होस्ट क्रैश।

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

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

सभी देखें →

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

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

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

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

CVE-2026-59346 — VMXNET3 TSO इंटीजर ओवरफ़्लो (VMware Workstation / Fusion)

vmware-vmx में VMXNET3 वर्चुअल NIC के TSO सेगमेंटेशन पथ में 32-बिट इंटीजर ओवरफ़्लो के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जो गेस्ट VM से पहुँचा जा सकता है।

यह समस्या पैच हो चुकी है। यह PoC केवल शोध और रक्षात्मक उद्देश्यों के लिए प्रकाशित किया गया है। यह होस्ट-साइड क्रैश (SIGSEGV) को ट्रिगर करता है और कोड एक्ज़ीक्यूशन का प्रयास नहीं करता।

CVECVE-2026-59346
Writeupcyberstan.co.uk/vmxnet3-tso-overflow
ZDI advisoryZDI-26-647
Vendor advisoryVMSA-2026-0007
CVSSv39.3 (vendor) / 7.5 (ZDI)
Fixed inWorkstation / Fusion 26H1u1
Reported viaTrend Micro Zero Day Initiative

सारांश

VMXNET3 TSO सेगमेंटेशन रूटीन अपने एलोकेशन आकार की गणना seg_count * per_seg_size के रूप में 32-बिट imul का उपयोग करके करता है। जब वास्तविक गुणनफल 2^32 से अधिक हो जाता है तो परिणाम रैप हो जाता है, और एलोकेटर को काटा गया मान प्राप्त होता है। इसके बाद चलने वाला सेगमेंटेशन लूप एलोकेशन आकार से नहीं, बल्कि seg_count से संचालित होता है, इसलिए यह प्रत्येक सेगमेंट के लिए per_seg_size बाइट्स को रैप्ड गुणनफल से आकार वाले बफ़र में लिखता है।

इस कोड पथ के लिए पहले का एक फिक्स (CVE-2025-41236) ने बाउंड्स चेक जोड़े थे जो उन पैकेट्स को अस्वीकार करते हैं जहाँ MSS, per_seg_size, या उनका योग 9216 से अधिक हो। वे चेक व्यक्तिगत डिस्क्रिप्टर फ़ील्ड्स को सीमित करते हैं, लेकिन गुणनफल को कभी नहीं, जो वास्तव में रैप होने वाला मान है। 9216 की सीमा से काफ़ी कम पैरामीटर भी ओवरफ़्लो तक पहुँच जाते हैं।

पूर्ण रूट-कॉज़ विश्लेषण, एनोटेटेड डिसअसेम्बली और हीप ज्यामिति: cyberstan.co.uk/vmxnet3-tso-overflow।

प्रभाव

कच्चे TX डिस्क्रिप्टर लिखने के लिए पर्याप्त विशेषाधिकार रखने वाला गेस्ट उपयोगकर्ता होस्ट vmware-vmx प्रोसेस में बड़े आउट-ऑफ-बाउंड राइट का कारण बन सकता है, जिसकी सामग्री गेस्ट-आपूर्त पैकेट से ली जाती है। इस PoC में राइट तब तक चलता है जब तक यह अनमैप्ड मेमोरी तक नहीं पहुँच जाता और होस्ट प्रोसेस SIGSEGV के साथ समाप्त हो जाता है, जिससे VM पावर ऑफ हो जाती है।

विक्रेता ने इस समस्या को हाइपरवाइज़र संदर्भ में मनमाने कोड एक्ज़ीक्यूशन की अनुमति देने वाला बताया; प्रकाशित PoC केवल मेमोरी-सेफ़्टी उल्लंघन प्रदर्शित करता है और क्रैश पर ही रुक जाता है।

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

vmware-vmx VMXNET3 बैकएंड साझा करने वाले सभी VMware डेस्कटॉप हाइपरवाइज़र उत्पाद: Workstation, Fusion, और Player। VMXNET3 आधुनिक गेस्ट के लिए डिफ़ॉल्ट एडाप्टर है। आधिकारिक प्रभावित-संस्करण सूची के लिए VMSA-2026-0007 देखें।

बिल्ड और रन करना

यह PoC एक Linux कर्नेल मॉड्यूल है जो गेस्ट के अंदर चलता है। यह VMXNET3 TX रिंग डिस्क्रिप्टर सीधे लिखता है, इन-कर्नेल ड्राइवर के TSO लॉजिक को बायपास करता है, फिर डोरबेल MMIO रजिस्टर को रिंग करता है।

root@kitploit:~
# Inside the guest VM, as root:

# Kernel headers
apk add linux-virt-dev                        # Alpine
# apt install linux-headers-$(uname -r)       # Debian / Ubuntu

make
insmod vmxnet3_tso_trigger.ko

होस्ट vmware-vmx प्रोसेस क्रैश हो जाएगा और गेस्ट पावर ऑफ हो जाएगा। VM में किसी भी अनसेव्ड स्टेट के खोने की अपेक्षा करें, और यदि आप इसे दोबारा चलाना चाहते हैं तो पहले स्नैपशॉट ले लें।

शुरू करने से पहले

गेस्ट को VMXNET3 एडाप्टर की आवश्यकता है। lspci | grep -i vmxnet से जाँचें या .vmx फ़ाइल में ethernet0.virtualDev = "vmxnet3" की पुष्टि करें। मॉड्यूल NIC से सीधे बात करता है, इसलिए इंटरफ़ेस अप होना चाहिए और vmxnet3 ड्राइवर से बाउंड होना चाहिए।

मॉड्यूल पैरामीटर

ParameterDefaultPurpose
ifnameeth0VMXNET3 एडाप्टर द्वारा समर्थित इंटरफ़ेस
dryrun01 डिस्क्रिप्टर लिखता है लेकिन डोरबेल छोड़ देता है, इसलिए कुछ भी ट्रिगर नहीं होता
wait_ms0डिस्क्रिप्टर सेटअप और डोरबेल राइट के बीच ms में विलंब
txwarm0ओवरफ़्लो पैकेट से पहले रिंग से गुज़ारे जाने वाले TSO पैकेट
warmup0ट्रिगर करने से पहले जारी किए जाने वाले होस्ट-साइड एलोकेशन
freechunk0ट्रिगर करने से पहले बनाए और आंशिक रूप से रिलीज़ किए जाने वाले समान-आकार के एलोकेशन

warmup और freechunk ओवरफ़्लो के लैंड होने से पहले होस्ट हीप को आकार देते हैं। क्रैश को पुनरुत्पादित करने के लिए इनकी आवश्यकता नहीं है; जब तक आप एलोकेशन लेआउट की जाँच नहीं कर रहे हों, इन्हें शून्य पर छोड़ दें।

सुझाया गया क्रम

एक ड्राई रन से शुरू करें ताकि पुष्टि हो सके कि मॉड्यूल रिंग ढूँढता है और पैरामीटर की गणना करता है, बिना होस्ट को छुए:

root@kitploit:~
insmod vmxnet3_tso_trigger.ko dryrun=1
dmesg | tail -20
rmmod vmxnet3_tso_trigger

अपेक्षित आउटपुट में परिकलित ज्यामिति और स्थित TX रिंग शामिल होती है:

root@kitploit:~
tso_v8: per_seg=6240 (0x1860), HDR_TOTAL=6222, MSS=1
tso_v8: PARAMS: alloc=... overflow=... seg_count=... paylen=...
tso_v8: ring at priv+N: base=... sz=... n2f=... gen=...
tso_v8: DRYRUN -- descriptors written but NOT triggered

यदि रिंग नहीं मिलती है तो मॉड्यूल TX ring not found लॉग करता है और बंद हो जाता है। इसका आमतौर पर मतलब है ड्राइवर लेआउट में अंतर; उस कर्नेल के लिए find_tx_ring() में सर्च ह्यूरिस्टिक को समायोजित करने की आवश्यकता है।

फिर वास्तव में ट्रिगर करें, यदि आवश्यक हो तो गैर-डिफ़ॉल्ट इंटरफ़ेस पर:

root@kitploit:~
insmod vmxnet3_tso_trigger.ko ifname=eth1

गेस्ट होस्ट प्रोसेस के साथ समाप्त हो जाता है, इसलिए अंतिम संदेश डिस्क तक नहीं पहुँच सकते। उन्हें कैप्चर करने के लिए, जर्नल पर निर्भर रहने के बजाय कंसोल देखें:

root@kitploit:~
dmesg -w

VM के vmware.log में होस्ट साइड से क्रैश की पुष्टि करें, जो vcpu-0 थ्रेड पर एलोकेटर के माध्यम से बैकट्रेस के साथ PANIC: Unexpected signal: 11 दिखाएगा।

यदि कुछ नहीं होता है

  • पैच किया गया होस्ट। 26H1u1 या बाद का कोई भी संस्करण पैकेट को अस्वीकार कर देता है। मॉड्यूल सामान्य रूप से लॉग करेगा और VM चलता रहेगा।
  • गलत इंटरफ़ेस। ifname को VMXNET3 डिवाइस का नाम देना चाहिए, ब्रिज या सेकेंडरी e1000 एडाप्टर का नहीं।
  • रिंग बहुत छोटी। यदि TX रिंग डिस्क्रिप्टर चेन को नहीं रख सकती तो मॉड्यूल need N entries but ring has M slots के साथ बंद हो जाता है।

परीक्षण किया गया वातावरण

HostUbuntu 24.04 LTS, kernel 6.17.0, glibc 2.39
HypervisorVMware Workstation Pro 25.0.1 (build 25219725)
GuestAlpine Linux, kernel 6.12, VMXNET3 NIC

विश्लेषण में संदर्भित सिंबल ऑफ़सेट build 25219725 के लिए विशिष्ट हैं। कमज़ोर पैटर्न सभी बिल्ड्स में समान है, लेकिन ऑफ़सेट भिन्न होंगे।

सामग्री

root@kitploit:~
vmxnet3_tso_trigger.c   trigger module
Makefile                   out-of-tree kernel module build

फिक्स

गुणा 64 बिट में किया जाना चाहिए, और परिणाम एलोकेटर तक पहुँचने से पहले सीमित होना चाहिए। व्यक्तिगत डिस्क्रिप्टर फ़ील्ड्स को सीमित करना पर्याप्त नहीं है, क्योंकि ओवरफ़्लो गुणनफल का गुण है, न कि किसी भी ऑपरेंड का।

डिस्क्लोज़र टाइमलाइन

DateEvent
2026Trend Micro ZDI को रिपोर्ट किया गया
Sept 2026Broadcom द्वारा 26H1u1 में पैच किया गया (VMSA-2026-0007)
Sept 2026ZDI-26-647 प्रकाशित

उपयोग

समन्वित डिस्क्लोज़र के तहत प्रकाशित, फिक्स जारी होने के बाद। इसे केवल उन सिस्टम्स के विरुद्ध चलाएँ जिनके आप स्वामी हैं या जिनका परीक्षण करने के लिए आप अधिकृत हैं। यह होस्ट हाइपरवाइज़र प्रोसेस को क्रैश कर देगा, इसलिए इसे किसी भी ऐसी चीज़ पर निशाना न बनाएँ जिसकी आपको परवाह है।

लेखक

Stan S - cyberstan.co.uk · @0xCyberstan

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