Açık Nasıl Çalışıyordu?
OpenCode, harici araçlar eklemek amacıyla MCP (Model Context Protocol) sunucularına bağlanabiliyor. Sorun, OAuth oturum açma akışında ortaya çıkıyordu: Geliştirici oturum açmayı başlattığında, bağlı MCP sunucusu kullanıcının yönlendirileceği web adresini, yani OAuth "yetkilendirme uç noktasını" kendisi belirliyordu. Windows ve WSL'de OpenCode bu adresi tarayıcıda açmak için bir yardımcı araca iletiyordu. Söz konusu yardımcı araç, adresi herhangi bir kaçış işlemi uygulamadan bir PowerShell komutunun içine yerleştiriyordu. Bu durum, içine PowerShell komutu gömülmüş özel hazırlanmış bir adresin doğrudan çalıştırılmasına zemin hazırlıyordu.Açıktan yararlanmak için saldırganın, geliştiricinin yapılandırdığı uzak bir MCP sunucusunun kontrolünü ele geçirmesi gerekiyordu. Üstelik bu sunucunun başından beri kötü amaçlı olması şart değildi; sonradan ele geçirilen bir sunucu ya da el değiştiren bir alan adı da aynı saldırıyı gerçekleştirmeye yeterliydi. Tetikleyici eylem yalnızca opencode mcp auth komutu çalıştırıldığında ya da eşdeğer bir istek yapıldığında gerçekleşiyordu; sunucunun yapılandırılmış olması veya oturum açılması tek başına açığı tetiklemiyordu. Çalışan kod, geliştiricinin kendi erişim yetkileriyle işlem görüyordu.
macOS ve Linux Neden Etkilenmedi?
Güvenlik açığı yalnızca Windows ve WSL ortamlarını etkiliyor; macOS ile Linux bu durumdan muaf. Bunun nedeni, OpenCode'un söz konusu platformlarda tarayıcıyı adresi bir kabuk üzerinden geçirmeden doğrudan açması. Windows'ta ise kullanılan yardımcı paket olan open, adresi bir PowerShell komutuna sararak işliyordu. Bu paketin Windows'taki komut enjeksiyonu riski 2023 yılında raporlanmış ve paketin 11. sürümünde giderilmişti; ancak OpenCode daha eski bir sürümü kullanmaya devam ediyordu.Standart bir savunma yöntemi, adresin HTTP veya HTTPS protokolüyle başlayıp başlamadığını denetlemektir. Ne var ki bu saldırıda geçerli bir HTTPS adresi kullanıldığından söz konusu kontrol koruma sağlamıyordu. OpenCode bu kontrolü de ekledi; ancak asıl çözüm, open paketinin düzeltilmiş sürümüne geçilmesiyle sağlandı.
Düzeltme ve CVE Süreci
OpenCode'un arkasındaki şirket Anomaly, açığı 28 Eylül'de yayımlanan 1.18.33 sürümüyle kapattı. Pillar Security, açığı 29 Ağustos'ta özel kanallar aracılığıyla Anomaly'ye bildirmişti. Düzeltme, sürüm notlarında veya ilgili pull request'te güvenlik açığına dair herhangi bir atıfta bulunulmaksızın rutin bir tarayıcı başlatma kodu yeniden düzenlemesi olarak sunuldu.Anomaly, bu açık için bir CVE (Ortak Güvenlik Açıkları ve Maruziyetler) talep etmedi ve bir güvenlik duyurusu yayımlamadı. Pillar Security'nin Anomaly'den CVE talep etmesini yeniden değerlendirmesini istemesinin ardından şirket, kötü amaçlı MCP sunucularının kendi tehdit modelinin dışında kaldığını belirtti. Şirketin güvenlik politikası, kullanıcı tarafından yapılandırılan MCP sunucularını "güven sınırımız dışında" olarak tanımlıyor.
CVE bulunmaması, bu açığın güvenlik tarayıcılarında veya bağımlılık uyarılarında görünmeyeceği anlamına geliyor. Etkilenen sürümler 1.0.137 ile 1.18.32 arasındaki tüm yapıları kapsıyor. Bu nedenle risk altındaki kurulumları tespit etmek için OpenCode sürümünün doğrudan kontrol edilmesi gerekiyor. Pillar Security, açığın aktif saldırılarda kullanıldığına dair herhangi bir bulgu tespit etmediğini ve geçmiş istismar girişimlerini araştırmak için indikatör yayımlamadığını açıkladı.
Benzer Açıklar ve Önerilen Adımlar
Bu tür açıklar ilk kez görülmüyor. Temmuz 2025'te mcp-remote proxy aracında, kötü amaçlı bir sunucunun yetkilendirme uç noktasının komut satırına ulaşmasına olanak tanıyan neredeyse aynı bir hata tespit edilmişti; bu açığa CVE-2025-6514 kodu atanmıştı. Anomaly ise bu yıl daha önce, Ağustos'ta düzeltilen bir dahil olmak üzere başka OpenCode kod yürütme açıkları için güvenlik duyuruları yayımlamıştı.Windows veya WSL üzerinde OpenCode kullananların OpenCode 1.18.33 ya da daha yeni bir sürüme yükseltmesi öneriliyor. Hemen yükseltme yapılamıyorsa, yapılandırmadan incelenmemiş tüm uzak MCP sunucularının kaldırılması tavsiye ediliyor. Hangi sunucuların bağlı olduğunu görmek için opencode mcp list komutu kullanılabilir. Ayrıca bu açıkla eş zamanlı olarak kamuoyuna duyurulan ayrı bir ihlalde, OpenCode'un barındırılan Console hizmetinin ele geçirildiği ve bazı kullanıcıların OpenAI, Anthropic ve Google için sakladıkları API anahtarlarının ifşa olmuş olabileceği belirtildi; ancak bu iki güvenlik olayı birbirinden bağımsız.

Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yorumlar (0)
Yorum yapmak için giriş yapmalısınız.