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

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

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 एंडपॉइंट जांच के माध्यम से कमजोर इंस्टेंस की पहचान करती है।

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

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

सभी देखें →

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

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

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

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

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 │ │ │ └──────────────────────────┘ │ └────────────────────────────────┘

root@kitploit:~
---

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

### दो 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

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

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

शोषण की समयरेखा दिखाती है कि आधुनिक खतरे वाले अभिनेता कितनी तेज़ी से काम करते हैं:```
  ┌──────────────────────────────────────────────────────────────┐
  │                   CVE-2026-39987 Timeline                    │
  ├──────────────────────────────────────────────────────────────┤
  │                                                              │
  │  T+0h        Advisory published                              │
  │  ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─                       │
  │  T+9h        First exploit built from advisory               │
  │  T+10h       Exploitation in the wild confirmed              │
  │  ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─                       │
  │  T+10h 0m    Attacker connects to /terminal/ws               │
  │  T+10h 1m    Full PTY shell obtained                         │
  │  T+10h 2m    .env file located and read                      │
  │  T+10h 3m    AWS keys exfiltrated                            │
  │              Total attack time: ~3 minutes                   │
  └──────────────────────────────────────────────────────────────┘

हमला स्वयं तुच्छ रूप से सरल है:``` Step 1: Attacker opens WebSocket connection to /terminal/ws (No authentication needed, no special tools required)

Step 2: Server creates a PTY (pseudo-terminal) session Attacker now has an interactive shell

Step 3: Attacker runs commands: $ cat .env AWS_ACCESS_KEY_ID=AKIA... AWS_SECRET_ACCESS_KEY=... DATABASE_URL=postgres://... OPENAI_API_KEY=sk-...

Step 4: Credentials exfiltrated Attacker now has cloud access, database access, and API keys for AI services

Total time: under 3 minutes Authentication required: none Tools required: any WebSocket client

root@kitploit:~
कोई एक्सप्लॉइट डेवलपमेंट ज़रूरी नहीं। कोई शेलकोड नहीं। कोई मेमोरी करप्शन नहीं। बस एक WebSocket क्लाइंट और एक गायब auth जांच।

---

## प्रभाव विश्लेषण

**Marimo होस्ट पर तत्काल प्रभाव:**
- Marimo प्रोसेस के विशेषाधिकारों के साथ पूर्ण इंटरैक्टिव शेल
- प्रोसेस द्वारा पठनीय सभी फ़ाइलों तक पहुंच (सोर्स कोड, डेटा, क्रेडेंशियल)
- API कुंजियों और रहस्यों वाले पर्यावरण चरों तक पहुंच
- होस्ट सिस्टम पर मनमाने कमांड निष्पादित करने की क्षमता

**क्रेडेंशियल एक्सपोज़र (प्राथमिक हमले का लक्ष्य):**
- `.env` फ़ाइलों या पर्यावरण चरों से AWS एक्सेस कुंजियाँ और गुप्त कुंजियाँ
- GCP/Azure सेवा खाता क्रेडेंशियल
- पासवर्ड के साथ डेटाबेस कनेक्शन स्ट्रिंग्स
- OpenAI, Anthropic, और अन्य AI सेवा API कुंजियाँ
- SSH कुंजियाँ और अन्य प्रमाणीकरण सामग्री

**डाउनस्ट्रीम प्रभाव (चुराए गए क्रेडेंशियल के माध्यम से):**
- क्लाउड इंफ्रास्ट्रक्चर तक अनधिकृत पहुंच (EC2, S3, Lambda, आदि)
- क्लाउड स्टोरेज और डेटाबेस से डेटा एक्सफ़िल्ट्रेशन
- संसाधन दुरुपयोग (क्रिप्टोमाइनिंग, AI API क्रेडिट चोरी)
- क्लाउड और ऑन-प्रिमाइसेस नेटवर्क में पार्श्व गति

**जोखिम प्रवर्धन कारक:**
- नोटबुक वातावरण मनमाना कोड निष्पादित करने के लिए डिज़ाइन किए गए हैं (यही उनका उद्देश्य है)
- डेटा साइंस वातावरण में आमतौर पर प्रशिक्षण कार्यों के लिए व्यापक क्लाउड एक्सेस होता है
- कई Marimo इंस्टेंस सहयोग और दूरस्थ कार्य के लिए इंटरनेट पर उजागर होते हैं
- शोध/प्रयोग वातावरण में सुरक्षा सख्ती अक्सर एक बाद का विचार होती है

---

## प्रभावित संस्करण

| संस्करण | स्थिति |
|---------|--------|
| Marimo 0.23.0+ | **पैच किया गया** |
| Marimo 0.20.5 से 0.22.x | **संभावित रूप से कमजोर** (सलाहकार सीमा और फिक्स के बीच) |
| Marimo <= 0.20.4 | **कमजोर** (पुष्टि की गई सीमा) |

---

## बड़ी तस्वीर: AI/ML टूलचेन पर हमला

CVE-2026-39987 कोई अलग-थलग घटना नहीं है। यह एक स्पष्ट पैटर्न का हिस्सा है जो अप्रैल 2026 में उभरा:

| CVE | उत्पाद | प्रकार | स्थिति |
|:---|:---|:---|:---|
| **CVE-2026-39987** | Marimo | Pre-Auth RCE (WebSocket) | 10 घंटे में एक्सप्लॉइट किया गया |
| **CVE-2026-33017** | Langflow | RCE | CISA KEV (मार्च 26) |
| **CVE-2026-5059** | aws-mcp-server | Command Injection RCE | सार्वजनिक सलाहकार |
| **TorchGeo** | TorchGeo | eval() RCE | सार्वजनिक सलाहकार |

एक ही महीने में चार AI/ML डेवलपमेंट टूल गंभीर RCE कमजोरियों से प्रभावित हुए। AI/ML डेवलपमेंट पाइपलाइन नया शैडो IT बन रही है: व्यापक पहुंच, न्यूनतम सुरक्षा निगरानी, और समृद्ध क्रेडेंशियल स्टोर के साथ तैनात किए गए उपकरण।```
  ┌─────────────────────────────────────────────────┐
  │        Why AI/ML Tools Are Prime Targets        │
  ├─────────────────────────────────────────────────┤
  │                                                 │
  │  1. DESIGNED to execute arbitrary code          │
  │     (that's literally what notebooks do)        │
  │                                                 │
  │  2. Run with elevated privileges                │
  │     (GPU access, cloud SDKs, network access)    │
  │                                                 │
  │  3. Contain high-value credentials              │
  │     (AWS keys, API tokens, DB connections)      │
  │                                                 │
  │  4. Often exposed to the network                │
  │     (for collaboration and remote access)       │
  │                                                 │
  │  5. Security hardening is an afterthought       │
  │     (focus on features and UX, not security)    │
  │                                                 │
  │  6. Users are researchers, not security experts │
  │     (default configs, weak passwords, no VPN)   │
  └─────────────────────────────────────────────────┘

पहचान

Python स्कैनर

Python स्क्रिप्ट बहु-चरणीय विश्लेषण के माध्यम से कमजोर Marimo इंस्टेंस का पता लगाती है।

यह कैसे काम करता है:

  1. Marimo पहचान — प्रतिक्रिया सामग्री और हेडर में Marimo संकेतकों के लिए /api/status, /api/health, और / को क्वेरी करता है
  2. संस्करण निष्कर्षण — API प्रतिक्रियाओं, सर्वर हेडर, और HTML सामग्री से संस्करण जानकारी पार्स करता है
  3. WebSocket हैंडशेक परीक्षण — /terminal/ws पर एक सुरक्षित HTTP अपग्रेड अनुरोध भेजता है (कनेक्शन के माध्यम से कोई डेटा प्रसारित नहीं होता)
  4. विभेदक प्रमाणीकरण जांच — असंगतता की पुष्टि करने के लिए /terminal/ws (प्रमाणीकरण की आवश्यकता होनी चाहिए) बनाम /ws (प्रमाणीकरण की आवश्यकता के लिए जाना जाता है) के व्यवहार की तुलना करता है
  5. संस्करण भेद्यता जांच — पता लगाए गए संस्करण की तुलना कमजोर सीमा (<= 0.20.4) और पैच किए गए संस्करण (>= 0.23.0) से करता है

लक्ष्य प्रणालियों पर कोई कमांड निष्पादित नहीं की जाती है। WebSocket हैंडशेक का परीक्षण किया जाता है लेकिन कनेक्शन के माध्यम से कोई डेटा नहीं भेजा जाता। यह जांच पूरी तरह से निष्क्रिय और उत्पादन के लिए सुरक्षित है।

उपयोग:```bash

Install dependencies

pip install -r requirements.txt

Single target (Marimo default port: 2718)

python CVE-2026-39987_Marimo_RCE_detector.py -t http://marimo-host:2718

HTTPS target

python CVE-2026-39987_Marimo_RCE_detector.py -t https://marimo-host:443

Bulk scan from file with verbose output

python CVE-2026-39987_Marimo_RCE_detector.py -f targets.txt -o results.json -v

Increased timeout for slow networks

python CVE-2026-39987_Marimo_RCE_detector.py -t http://10.0.0.5:2718 --timeout 15

root@kitploit:~
**विकल्प:**

| फ़्लैग | विवरण | डिफ़ॉल्ट |
|------|-------------|---------|
| `-t`, `--target` | एकल लक्ष्य URL (जैसे, `http://host:2718`) | — |
| `-f`, `--file` | लक्ष्य URL वाली फ़ाइल, प्रति पंक्ति एक (`#` टिप्पणियाँ समर्थित) | — |
| `-o`, `--output` | परिणाम JSON फ़ाइल में सहेजें | — |
| `--timeout` | कनेक्शन टाइमआउट सेकंड में | `10` |
| `--verify-ssl` | SSL प्रमाणपत्र सत्यापन सक्षम करें | अक्षम |
| `-v`, `--verbose` | पूर्ण विवरण के साथ विस्तृत आउटपुट | बंद |

**उदाहरण आउटपुट:**```
[*] CVE-2026-39987 Marimo Pre-Auth RCE Scanner
[*] Scanning 1 target(s)...
[*] NOTE: This scanner only checks for endpoint exposure.
[*]       No commands are executed on target systems.

======================================================================
Target: http://10.0.0.5:2718
Scan Time: 2026-04-14T16:00:00Z
Risk Level: CRITICAL
======================================================================
  Is Marimo:             YES
  Marimo Version:        0.19.2
  /terminal/ws Open:     YES — UNAUTHENTICATED
  Vulnerable:            YES

  *** CRITICAL: Pre-authenticated RCE is possible! ***
  *** An attacker can get a full PTY shell without any auth ***

  Details:
    - Marimo instance detected via /api/status
    - Marimo version: 0.19.2
    - WebSocket upgrade accepted — /terminal/ws accessible WITHOUT auth
    - CONFIRMED: /terminal/ws accepts unauthenticated connections while
      /ws requires auth — classic CVE-2026-39987 signature
    - Version 0.19.2 <= 0.20.4 — VULNERABLE to pre-auth RCE

======================================================================
[*] Scan Complete: 1 targets scanned
[*] Marimo Instances: 1 | Vulnerable: 1 | Critical: 1
======================================================================

Nmap NSE स्क्रिप्ट```bash

Install the NSE script

sudo cp CVE-2026-39987_Marimo_RCE.nse /usr/share/nmap/scripts/ sudo nmap --script-updatedb

Basic scan (Marimo default port: 2718)

nmap -p 2718 --script CVE-2026-39987_Marimo_RCE

Scan common ports where Marimo might run

nmap -p 2718,8080,8443,443 --script CVE-2026-39987_Marimo_RCE

Subnet scan

nmap -p 2718 --script CVE-2026-39987_Marimo_RCE 10.0.0.0/24

Scan targets from a file

nmap -p 2718 --script CVE-2026-39987_Marimo_RCE -iL targets.txt

With service version detection

nmap -sV -p 2718 --script CVE-2026-39987_Marimo_RCE

root@kitploit:~
**Nmap आउटपुट का उदाहरण:**```
PORT     STATE SERVICE
2718/tcp open  http
| CVE-2026-39987_Marimo_RCE:
|   VULNERABLE:
|   Marimo Pre-Auth RCE (CVE-2026-39987)
|     State: VULNERABLE
|     Risk level: CRITICAL
|     Marimo Version: 0.19.2
|     /terminal/ws: accessible without authentication
|     Description:
|       The Marimo /terminal/ws WebSocket endpoint accepts connections
|       without authentication, enabling pre-authenticated RCE.
|       An attacker can obtain a full PTY shell without any credentials.
|     References:
|_      https://nvd.nist.gov/vuln/detail/CVE-2026-39987

मैन्युअल सत्यापन

यदि आपके पास Marimo इंस्टेंस तक पहुंच है:```bash

Check Marimo version via API

curl -s http://:2718/api/status | python3 -m json.tool

Test WebSocket upgrade on /terminal/ws (should NOT succeed without auth)

curl -s -o /dev/null -w "%{http_code}"
-H "Upgrade: websocket"
-H "Connection: Upgrade"
-H "Sec-WebSocket-Key: dGVzdC1rZXktMTIzNDU2Nzg="
-H "Sec-WebSocket-Version: 13"
http://:2718/terminal/ws

If it returns 101 (Switching Protocols), the endpoint is open without auth

If it returns 401/403, authentication is enforced (patched or hardened)

For comparison, test /ws (should always require auth)

curl -s -o /dev/null -w "%{http_code}"
-H "Upgrade: websocket"
-H "Connection: Upgrade"
-H "Sec-WebSocket-Key: dGVzdC1rZXktMTIzNDU2Nzg="
-H "Sec-WebSocket-Version: 13"
http://:2718/ws

root@kitploit:~
यदि `/terminal/ws` 101 लौटाता है जबकि `/ws` 401/403 लौटाता है, तो यह क्लासिक CVE-2026-39987 सिग्नेचर है।

---

## समझौते के संकेतक

अपने वातावरण में इन संकेतों पर नज़र रखें:

| संकेतक | कहाँ जाँचें | क्या देखें |
|:---|:---|:---|
| अनधिकृत WebSocket कनेक्शन | सर्वर/प्रॉक्सी लॉग | अप्रत्याशित IP से `/terminal/ws` पर कनेक्शन |
| PTY सत्र निर्माण | प्रोसेस मॉनिटरिंग | Marimo सर्वर द्वारा स्पॉन किए गए अप्रत्याशित शेल प्रोसेस |
| फ़ाइल एक्सेस | फ़ाइल ऑडिट लॉग | `.env`, क्रेडेंशियल फ़ाइलों, या SSH कुंजियों का पठन |
| क्रेडेंशियल उपयोग | क्लाउड प्रदाता ऑडिट लॉग | Marimo वातावरण में संग्रहीत कुंजियों का उपयोग करके API कॉल |
| आउटबाउंड डेटा ट्रांसफर | नेटवर्क मॉनिटरिंग | Marimo होस्ट से असामान्य ईग्रेस ट्रैफ़िक |

**जाँच कमांड:**```bash
# Check for active WebSocket connections
ss -tnp | grep <MARIMO_PORT>

# Review process tree for unexpected shells
ps aux --forest | grep -A5 marimo

# Check if .env or credential files were recently accessed
stat .env
stat ~/.aws/credentials

# Review cloud provider activity logs for unauthorized access
aws cloudtrail lookup-events --lookup-attributes AttributeKey=AccessKeyId,AttributeValue=<KEY_ID>

# Check for unauthorized outbound connections
netstat -tnp | grep ESTABLISHED | grep -v 127.0.0.1

उपचार (Remediation)

तत्काल कार्रवाई (अभी करें):

  1. Marimo 0.23.0 या उससे नए संस्करण में अपग्रेड करें (pip install --upgrade marimo)
  2. फ़ायरवॉल नियमों के माध्यम से Marimo इंस्टेंस तक नेटवर्क पहुंच प्रतिबंधित करें (केवल localhost या विश्वसनीय IP से बाइंड करें)
  3. अपने सर्वर लॉग में अनधिकृत कनेक्शन की जाँच करें

अल्पकालिक (इस सप्ताह):

  1. उन सभी क्रेडेंशियल्स को रोटेट करें जो Marimo वातावरण से सुलभ थे (AWS कुंजियाँ, API टोकन, डेटाबेस पासवर्ड, क्लाउड सेवा खाते)
  2. अनधिकृत API कॉल्स के लिए क्लाउड प्रदाता गतिविधि लॉग की ऑडिट करें जो संभावित रूप से समझौता किए गए क्रेडेंशियल्स का उपयोग कर रहे हों
  3. किसी भी संवेदनशील डेटा के लिए .env फ़ाइलों और पर्यावरण चरों की समीक्षा करें जो उजागर हो सकते हैं
  4. पर्सिस्टेंस तंत्र की जाँच करें (अनधिकृत SSH कुंजियाँ, cron जॉब्स, संशोधित स्टार्टअप स्क्रिप्ट)

दीर्घकालिक:

  1. नोटबुक वातावरण को कभी भी सीधे इंटरनेट पर उजागर न करें (VPN या SSH टनल का उपयोग करें)
  2. AI/ML विकास वातावरण को उच्च-सुरक्षा संपत्ति के रूप में मानें (इनमें क्लाउड क्रेडेंशियल होते हैं और कोड निष्पादन क्षमताएँ होती हैं)
  3. नोटबुक सर्वर को अपने नियमित भेद्यता स्कैनिंग कार्यक्रम में शामिल करें
  4. नोटबुक सर्वर इंस्टेंस के लिए नेटवर्क मॉनिटरिंग लागू करें जिसमें अप्रत्याशित कनेक्शन पर अलर्टिंग हो

संदर्भ (References)

  • The Hacker News — Marimo RCE Flaw CVE-2026-39987 Exploited Within 10 Hours
  • SecurityWeek — Critical Marimo Flaw Exploited Hours After Public Disclosure
  • BleepingComputer — Critical Marimo Pre-Auth RCE Flaw Now Under Active Exploitation
  • Security Affairs — CVE-2026-39987: Marimo RCE Exploited in Hours After Disclosure
  • CSA Labs — Marimo Pre-Auth RCE: AI Development Toolchain Under Attack
  • GBHackers — Marimo RCE Vulnerability Exploited Within 10 Hours
  • InfoWorld — Critical Flaw in Marimo Python Notebook Exploited Within 10 Hours

लेखक (Author)

केरेम ओरुक (Kerem Oruç) — साइबर सुरक्षा इंजीनियर

  • GitHub: @keraattin
  • Twitter: @keraattin
टूल डाउनलोड करें