- 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
- 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 कर सकते हैं
--mdnsflag इस्तेमाल करने पर local network के सभी devices access कर सकते हैं- server चल रहा है या नहीं, इसका कोई indication नहीं, इसलिए user को exposure का पता नहीं चलता
- opencode.ai domain या उसके subdomains से code execute किया जा सकता है
attack examples (Proof of Concept)
- local attack: server चल रहा हो तो local process
curlcommand से session बनाकरid > /tmp/pwned.txtcommand execute कर सकता है - browser-based attack (v1.0.216 से पहले): web page
fetchrequest के जरिए 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.hostnameitem enabled है या नहीं, यह जांचें --mdnsflag का इस्तेमाल न करें (यह 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 में स्पष्ट लिखें कि
--mdnsoption 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
1 टिप्पणियां
Hacker News की राय
एक maintainer के तौर पर यह माना कि इस security report के जवाब को ठीक से संभाल नहीं पाए
उपयोग अचानक बहुत बढ़ गया, इसलिए issues की बाढ़ आ गई, और इस हफ्ते विशेषज्ञों से मिलकर bug bounty program और security audit आगे बढ़ाने की योजना है
सभी टीम members का OWASP Insecure Design guide को समझना और अमल में लाना ज़्यादा महत्वपूर्ण है
OpenCode एक मशहूर open source coding agent है, इसलिए संभव है कि इसका पहले ही दुरुपयोग हो चुका हो
अभी भी मॉडल को gVisor जैसे sandbox environment में चलाना ज़रूरी लगता है
जल्दी प्रतिक्रिया नहीं दी गई तो और हमलावर RCE vulnerabilities को निशाना बना सकते हैं
क्या आप लोग anarchism-style organizational operating principles जैसी चीज़ों का भी संदर्भ ले रहे हैं?
बहुत से लोग OpenCode जैसे tools को local environment में बिना privilege separation के चला रहे हैं
plugins भी default रूप से unlimited access मानकर बनाए गए हैं, और resource usage भी काफ़ी ज़्यादा है
कम से कम इसे dev-container या VM के अंदर चलाना चाहिए, और SSHFS या Samba से सिर्फ़ ज़रूरी files जोड़नी चाहिए
अगर यह झंझट लगे तो 5 डॉलर महीने वाला VPS भी इस्तेमाल कर सकते हैं
server को qemu से चलाना हो तो quickemu recommended है
zed का SSH remote feature भी काम का है, इसलिए Claude Code या OpenCode को साथ में इस्तेमाल किया जा सकता है
CORS fix से बाहरी websites द्वारा दुरुपयोग रुक गया, लेकिन मूल समस्या यह है कि localhost पर code execution संभव है
Neovim default रूप से domain socket का उपयोग करता है, और VS Code के SSH daemon में authentication process होता है
कोई local server जो authentication के बिना client input execute करे, वह LCE(Local Code Execution) vulnerability है,
और जब browser requests के ज़रिए उसे access किया जा सके, तो वह RCE(Remote Code Execution) तक बढ़ जाती है
यह चौंकाने वाला है कि CLI tool में authentication के बिना RCE वाला HTTP endpoint डाला गया, और उसके ऊपर CORS bypass भी जोड़ दिया गया
vulnerability disclosure timeline भी समस्या है
2025-11-17 को रिपोर्ट किया गया था, लेकिन कई बार संपर्क के बावजूद कोई जवाब नहीं मिला
GitHub issue comment देखें
server default रूप से बंद हो, तब भी चालू होने पर यह गंभीर समस्या बनी रहती है
localhost से कोई भी webpage code execution कर सकता है, और authentication के बिना local processes भी चला सकता है
user को यह बताने का कोई संकेत भी नहीं है कि server चल रहा है या नहीं
TUI apps पर आमतौर पर इसलिए भरोसा किया जाता है कि वे इस तरह की हरकत नहीं करते, लेकिन इस घटना ने उस भरोसे को गंभीर रूप से नुकसान पहुँचाया है
यह भी हैरान करने वाली बात है कि OpenCode को YC(Y Combinator) का समर्थन मिला हुआ है
लगा था कि YC बेहतर security culture को बढ़ावा देगा
संबंधित बात के लिए यह comment देखें
लगा था OpenCode कोई volunteer project है, लेकिन पता चला कि यह बड़े निवेशकों के समर्थन वाला कंपनी-शैली project है
features ही जोड़ते जाने और core maintenance को नज़रअंदाज़ करने की वजह से इसका इस्तेमाल बंद कर दिया
मकसद कई models को साथ में इस्तेमाल करना था, लेकिन context sharing अप्रभावी होने से इसकी उपयोगिता कम लगती है
अभी Claude Code और Codex को साथ में इस्तेमाल कर रहा हूँ
फिर भी कई models को एकीकृत करने वाले open platform की ज़रूरत अब भी बहुत है
ampcode से free में आसान scripts बनाई जा सकती हैं, और Crush+GLM Claude या Codex की plans को अच्छी तरह follow करता है
शुरुआत में Aider पसंद था, लेकिन maintenance लगभग न के बराबर होने से अक्सर समस्याएँ आईं
OpenCode install करने ही वाला था, लेकिन यह मामला देखकर हिचकिचाहट होने लगी
model-agnostic open source CLI LLM assistant इतने कम हैं, यह हैरानी की बात है