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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-39987 — CVE-2026-39987 के लिए पता लगाने और शोषण टूलकिट, जो Marimo नोटबुक में प्री-ऑथ RCE है। इसमें Python स्कैनर और Nmap NSE स्क्रिप्ट शामिल है, जो WebSocket एंडपॉइंट जांच के माध्यम से कमजोर इंस्टेंस की पहचान करती है। | Kitploit
उपकरण/GitHubGitHub/keraattin/cve-2026-39987
भेद्यता स्कैनरभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनावेब सुरक्षानेटवर्क सुरक्षापेनिट्रेशन टेस्टिंग
GitHubkeraattin/cve-2026-39987

CVE-2026-39987

CVE-2026-39987 के लिए पता लगाने और शोषण टूलकिट, जो Marimo नोटबुक में प्री-ऑथ RCE है। इसमें Python स्कैनर और Nmap NSE स्क्रिप्ट शामिल है, जो WebSocket एंडपॉइंट जांच के माध्यम से कमजोर इंस्टेंस की पहचान करती है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-39987 — Marimo Python नोटबुक प्री-ऑथेंटिकेटेड रिमोट कोड एक्सीक्यूशन

CVE-2026-39987 CVSS 9.3 CWE-306 Marimo Pre-Auth RCE

TL;DR

Marimo में एक प्री-ऑथेंटिकेटेड रिमोट कोड एक्सीक्यूशन भेद्यता पाई गई है, जो डेटा साइंस और AI/ML के लिए एक ओपन-सोर्स Python नोटबुक है। टर्मिनल WebSocket एंडपॉइंट (/terminal/ws) पूरी तरह से ऑथेंटिकेशन वैलिडेशन को छोड़ देता है, जबकि पड़ोसी नोटबुक एंडपॉइंट (/ws) इसे सही ढंग से लागू करता है। एक अनऑथेंटिकेटेड हमलावर /terminal/ws से कनेक्ट होकर बिना किसी क्रेडेंशियल के होस्ट सिस्टम पर पूर्ण इंटरैक्टिव PTY शेल प्राप्त कर सकता है।

खुलासे के 10 घंटे के भीतर वास्तविक दुनिया में इसका शोषण किया गया। हमलावरों ने 3 मिनट से भी कम समय में AWS क्रेडेंशियल चुरा लिए।

Marimo <= 0.20.4 को प्रभावित करता है। Marimo 0.23.0 में ठीक किया गया।


विषय-सूची

  • त्वरित तथ्य
  • Marimo क्या है?
  • भेद्यता का गहन विश्लेषण
    • दो WebSocket एंडपॉइंट
    • गायब ऑथ चेक
    • हमला: एडवाइज़री से AWS कीज़ तक 3 मिनट में
  • प्रभाव विश्लेषण
  • प्रभावित संस्करण
  • बड़ी तस्वीर: AI/ML टूलचेन पर हमला
  • पहचान
    • Python स्कैनर
    • Nmap NSE स्क्रिप्ट
    • मैनुअल सत्यापन
  • समझौते के संकेतक
  • उपचार
  • संदर्भ
  • लेखक

त्वरित तथ्य

फ़ील्डविवरण
CVE IDCVE-2026-39987
विक्रेताMarimo प्रोजेक्ट
उत्पादMarimo (Python नोटबुक)
प्रभावित संस्करण<= 0.20.4
CVSS v3.19.3 (क्रिटिकल)
CWECWE-306 — महत्वपूर्ण फ़ंक्शन के लिए ऑथेंटिकेशन का अभाव
हमला वेक्टरनेटवर्क
ऑथेंटिकेशनकोई आवश्यकता नहीं
उपयोगकर्ता इंटरैक्शनकोई नहीं
शोषण परिपक्वतावास्तविक दुनिया में सक्रिय रूप से शोषित
शोषण का समयखुलासे के ~10 घंटे बाद
पैच किया गयाMarimo 0.23.0

Marimo क्या है?

Marimo एक ओपन-सोर्स रिएक्टिव Python नोटबुक है जिसे Jupyter के आधुनिक विकल्प के रूप में डिज़ाइन किया गया है। इसे डेटा साइंस, AI/ML प्रयोग और इंटरैक्टिव डेटा विश्लेषण के लिए बनाया गया है। इसकी प्रमुख विशेषताओं में स्वचालित डिपेंडेंसी ट्रैकिंग, प्रतिलिपि योग्य निष्पादन, और पारंपरिक नोटबुक की तुलना में एक स्वच्छ डेवलपर अनुभव शामिल है।

Marimo Python और AI/ML समुदाय में तेजी से लोकप्रियता प्राप्त कर रहा है, विशेष रूप से उन प्रैक्टिशनरों के बीच जो Jupyter की तुलना में अधिक संरचित नोटबुक वर्कफ़्लो चाहते हैं।

सभी नोटबुक वातावरणों की तरह, Marimo इंस्टेंस के पास आमतौर पर संवेदनशील संसाधनों तक पहुंच होती है: क्लाउड क्रेडेंशियल (AWS, GCP, Azure), डेटाबेस कनेक्शन स्ट्रिंग, AI सेवाओं के लिए API कीज़ (OpenAI, Anthropic, आदि), और आंतरिक नेटवर्क एक्सेस। पारंपरिक वेब एप्लिकेशन के विपरीत, नोटबुक मनमाना कोड निष्पादित करने के लिए डिज़ाइन किए गए हैं। यही उनका मूल उद्देश्य है।

यह संयोजन नोटबुक वातावरण में किसी भी ऑथेंटिकेशन बायपास को विशेष रूप से विनाशकारी बनाता है।``` Typical Marimo Deployment:

┌──────────────┐ ┌────────────────────────────────┐ │ │ HTTP │ Marimo Server │ │ Browser │────────>│ │ │ (User) │ │ ┌──────────────────────────┐ │ │ │<────────│ │ /ws (Notebook) │ │ └──────────────┘ WS │ │ ✅ validate_auth() │ │ │ └──────────────────────────┘ │ │ │ │ ┌──────────────────────────┐ │ │ │ /terminal/ws │ │ │ │ ❌ NO AUTH CHECK │ │ │ └──────────────────────────┘ │ │ │ │ ┌──────────────────────────┐ │ │ │ Python Environment │ │ │ │ .env files │ │ │ │ AWS credentials │ │ │ │ API keys │ │ │ └──────────────────────────┘ │ └────────────────────────────────┘

---

## भेद्यता का गहन विश्लेषण

### दो WebSocket एंडपॉइंट

Marimo का सर्वर विभिन्न सुविधाओं के लिए कई WebSocket एंडपॉइंट लागू करता है। दो मुख्य एंडपॉइंट के बीच महत्वपूर्ण अंतर एक प्रमाणीकरण जांच की उपस्थिति (या अनुपस्थिति) है:```
  Authentication Flow Comparison:

  /ws (Notebook WebSocket):
  ┌─────────┐    ┌───────────────┐    ┌──────────┐    ┌───────────┐
  │ Connect │───>│ validate_auth │───>│  Accept  │───>│ Notebook  │
  └─────────┘    └───────┬───────┘    └──────────┘    └───────────┘
                         │
                    ❌ Reject if
                    not authenticated

  /terminal/ws (Terminal WebSocket):
  ┌─────────┐    ┌───────────────┐    ┌──────────┐    ┌───────────┐
  │ Connect │───>│ Check mode &  │───>│  Accept  │───>│ PTY Shell │
  └─────────┘    │ platform only │    └──────────┘    └───────────┘
                 └───────────────┘
                 ⚠️ No auth check!
                 Anyone gets a shell!

गुम हुई प्रमाणीकरण जाँच

नोटबुक एंडपॉइंट (/ws) WebSocket कनेक्शन स्वीकार करने से पहले उपयोगकर्ता की पहचान सत्यापित करने के लिए सही ढंग से validate_auth() को कॉल करता है। यह अपेक्षित सुरक्षा व्यवहार है।

टर्मिनल एंडपॉइंट (/terminal/ws) केवल यह जाँचता है कि सर्वर रनिंग मोड में है या नहीं और क्या प्लेटफ़ॉर्म टर्मिनल कार्यक्षमता का समर्थन करता है। यह कभी भी validate_auth() को कॉल नहीं करता। इन बुनियादी जाँचों को पास करने के बाद, यह कनेक्शन स्वीकार करता है और एक पूर्ण PTY (pseudo-terminal) सत्र बनाता है।```python

/ws (Notebook) — CORRECT implementation

async def websocket_connect(self, message): await self.validate_auth() # ✅ Checks authentication await self.accept() # ... notebook communication

/terminal/ws (Terminal) — VULNERABLE implementation

async def websocket_connect(self, message): if not self.is_running_mode(): # Only checks mode await self.close() return if not self.is_platform_supported(): # Only checks platform await self.close() return await self.accept() # ❌ No auth! Anyone gets a shell # ... PTY shell creation

यह **CWE-306: Missing Authentication for Critical Function** है। सर्वर पर सबसे खतरनाक एंडपॉइंट (जो एक इंटरैक्टिव शेल प्रदान करता है) पर कोई प्रमाणीकरण नहीं है।

### हमला: 3 मिनट में AWS कुंजियों तक पहुँच
टूल डाउनलोड करें