Apa yang terjadi
Sebelum 1.1.0, alat pl-do kustom membangun blok DO PostgreSQL dengan menggabungkan argumen JSON ke dalam string yang dibatasi tanda kutip dollar tetap tanpa escaping. Argumen yang dirancang yang menyertakan tag tanda kutip dollar keluar dari wilayah yang dikutip, memungkinkan klien MCP menyuntikkan SQL yang dieksekusi dengan hak istimewa koneksi.
Mengapa penting
Klien MCP biasanya adalah agen LLM. Injeksi SQL di sini mengubah panggilan alat yang digerakkan prompt menjadi akses DB arbitrer untuk peran yang terhubung, memungkinkan agen (atau injeksi prompt yang menargetkan agen tersebut) membaca atau memodifikasi konten database di luar kontrak alat yang dimaksudkan.
Vektor serangan
Alat pl-do kustom menginterpolasi argumen JSON ke dalam blok DO PostgreSQL yang dibatasi oleh tag tanda kutip dollar tetap. Argumen yang berisi token pembatas dapat mengakhiri kutipan dan menyuntikkan SQL arbitrer sebagai peran database yang terhubung.
Sistem yang terdampak
pgedge-postgres-mcp < 1.1.0 (alat pl-do kustom)
Mitigasi
Tingkatkan ke pgedge-postgres-mcp 1.1.0. Batasi akses server MCP ke klien tepercaya; batasi peran database ke hak istimewa minimum.