Apa yang terjadi
Mode transport SSE/HTTP Server MCP MySQL menghilangkan pengaturan keamanan yang diperlukan untuk menegakkan validasi Origin/Host, memungkinkan eksekusi SQL jarak jauh yang tidak terautentikasi terhadap basis data penyangga secara langsung atau melalui serangan DNS-rebinding dari browser korban.
Mengapa penting
Server database MCP adalah titik integrasi umum untuk agen LLM yang membutuhkan akses data terstruktur; primitif eksekusi SQL yang tidak terautentikasi dalam konektor yang banyak digunakan ini — dapat dicapai secara langsung atau dengan menipu browser untuk mengikat ulang DNS ke pendengar MCP lokal — memberi penyerang jalur ke kompromi basis data penuh dan, dengan privilege MySQL yang ditinggikan, eksekusi kode tingkat host.
Vektor serangan
Saat MCP_TRANSPORT=sse diatur, server membuat SseServerTransport tanpa security_settings atau enable_dns_rebinding_protection, sehingga validasi Origin/Host SDK Python MCP tidak pernah diterapkan. Penyerang jarak jauh yang tidak terautentikasi (secara langsung, atau melalui DNS rebinding dari halaman web berbahaya) dapat mengirimkan kueri SQL ke server MCP yang terpapar; dengan izin MySQL yang cukup (misalnya FILE) ini dapat ditingkatkan ke pembacaan/penulisan file sewenang-wenang dan potensi RCE.
Sistem yang terdampak
mysql-mcp-server (PyPI) sebelum 0.4.2
Mitigasi
Upgrade ke mysql-mcp-server 0.4.2 atau lebih baru, yang mengaktifkan perlindungan DNS-rebinding/Origin-Host secara default dalam mode SSE. Operator yang menjalankan server MySQL MCP yang terpapar SSE/HTTP harus memverifikasi bahwa mereka tidak dapat diakses dari internet secara langsung dan di-patch segera mengingat rating CVSS 10.0.