Developer finds two critical security flaws in his own live Supabase finance app
A developer running Zingui, a family finance app built on Next.js and Supabase, deliberately tested his own production system using only the public API key shipped to every visitor. He discovered that a Postgres function marked 'security definer' with no ownership check allowed anyone — without an account — to reset any paying customer's subscription back to a trial period. A second flaw in the app's Row Level Security policy, caused by a missing 'WITH CHECK' clause, let any authenticated household member grant themselves admin privileges by writing directly to the database. Both vulnerabilities were confirmed exploitable in live production with real paying users. The developer fixed the issues by restricting billing functions to server-side roles only and adding proper write-check constraints to the membership table policy.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in