← All advisories
VV-016highPrompt injection2025-07-08

Supabase MCP: a support ticket gets the agent to dump private tables

General Analysis showed indirect prompt injection in support-ticket data making an MCP-connected assistant query private tables with Supabase’s privileged service role.

01.

What it is

The assistant ran with the service_role key, which bypasses Row Level Security. Text inside a customer ticket told it to read another table and write the results back into the ticket thread.

Supabase later published guidance on defence in depth for its MCP server.

02.

How to check

  1. Check which key your Supabase MCP connection uses. service_role bypasses all RLS.
  2. Check whether the agent reads user-submitted rows (tickets, comments, profiles).
03.

How to fix

  1. Use read-only mode and a project-scoped connection for development, never production data.
  2. Keep manual approval for every SQL tool call.
04.

Sources

More advisories for this tool
The weekly email

One email a week. Only what changed.

New advisories, CVEs and fixes for Lovable, Bolt, v0, Replit, Base44 and Cursor apps. No roundups of things you already read.