• OpenCode के पुराने versions में बिना authentication के मनचाहा code execute करने वाली गंभीर remote code execution vulnerability पाई गई
  • v1.1.10 से पहले के versions अपने-आप HTTP server चलाते हैं, और यह server बिना authentication के arbitrary command execution, file read, terminal session creation की अनुमति देता है
  • v1.0.216 से पहले सिर्फ वेबसाइट विज़िट करने भर से उपयोगकर्ता के local environment में code execute हो सकता था
  • नवीनतम version (v1.1.10) में server default रूप से disabled है, लेकिन enable होने पर अब भी authentication नहीं है
  • इस vulnerability को CVE-2026-22812 के रूप में दर्ज किया गया है, और developers व users को तुरंत update करने और settings की जांच करने की जरूरत है

vulnerability overview

  • OpenCode एक open source AI coding assistant है, और v1.1.10 से पहले run होने पर अपने-आप HTTP server (default port 4096+) शुरू करता था
    • server POST /session/:id/shell, POST /pty, GET /file/content जैसे endpoints देता है
    • authentication process नहीं होने से connect कर सकने वाला कोई भी client user permissions के साथ code execute कर सकता है
  • server चलने पर user को कोई visual indication नहीं मिलता, इसलिए expose हुआ है या नहीं, यह समझना मुश्किल है
  • CORS policy *.opencode.ai पर hardcode है, इसलिए opencode.ai या उसके subdomains से serve किया गया page server API को access कर सकता है
    • अगर वह domain compromise हो जाए या उसमें XSS vulnerability हो, तो server enabled स्थिति वाले सभी user attack के दायरे में आ सकते हैं

attack vectors

  • v1.0.216 से पहले: कोई भी arbitrary website OpenCode चला रहे user की local machine पर code execute कर सकती थी
  • v1.1.10 से पहले: local process या localhost page बिना authentication के code execute कर सकते थे
  • सभी versions में, अगर server enabled हो:
    • local process और localhost pages बिना authentication के code execute कर सकते हैं
    • --mdns flag इस्तेमाल करने पर local network के सभी devices access कर सकते हैं
    • server चल रहा है या नहीं, इसका कोई indication नहीं, इसलिए user को exposure का पता नहीं चलता
    • opencode.ai domain या उसके subdomains से code execute किया जा सकता है

attack examples (Proof of Concept)

  • local attack: server चल रहा हो तो local process curl command से session बनाकर id > /tmp/pwned.txt command execute कर सकता है
  • browser-based attack (v1.0.216 से पहले): web page fetch request के जरिए local server को command भेजकर remote script download और execute कर सकती है
    • Firefox में इसका काम करना verify हुआ, जबकि Chrome local network access protection के कारण user confirmation prompt दिखा सकता है

user response measures

  • opencode --version से version check करें और v1.1.10 या उससे ऊपर update करें
  • settings file में server.port या server.hostname item enabled है या नहीं, यह जांचें
  • --mdns flag का इस्तेमाल न करें (यह 0.0.0.0 पर bind होकर पूरे network पर expose करता है)
  • अगर server का इस्तेमाल करना ही पड़े, तो opencode.ai और उसके subdomains पर जाना बंद करें
  • यह समझें कि server enabled होने पर local processes बिना authentication के access कर सकते हैं

disclosure timeline

  • 2025-11-17: email से पहली report, कोई response नहीं
  • 2025-12-27: GitHub Security Advisory submit किया, कोई response नहीं
  • 2025-12-29: दूसरे user ने public report की
  • 2025-12-30: v1.0.216 में CORS restriction लागू की गई
  • 2026-01-09: v1.1.10 में server default रूप से disabled किया गया
  • 2026-01-11: full disclosure

recommended actions

  • CORS को न्यूनतम जरूरी domains तक सीमित करें (v1.0.216 में लागू)
  • server को default रूप से disabled रखें (v1.1.10 में लागू)
  • सभी server requests में authentication process जोड़ें
  • server चलने पर user को स्पष्ट indication दें
  • docs में स्पष्ट लिखें कि --mdns option 0.0.0.0 पर bind होता है
  • network communication में TLS लागू करें
  • GitHub Security Advisory और CVE-2026-22812 को आधिकारिक रूप से publish करें
  • security reporting email और GHSA alerts की बेहतर monitoring करें
  • OpenCode maintainers, opencode.ai और users के बीच trust relationship स्पष्ट करें

reference

  • CVE: CVE-2026-22812
  • प्रभावित package: npm opencode-ai
  • नवीनतम जानकारी और संपर्क: cy.md

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.