I recently analyzed a Supabase-based application and found a critical pattern that still appears…
Damian K. — Penetration Tester / Offensive Security Engineer
I recently analyzed a Supabase-based application and found a critical pattern that still appears surprisingly often in modern stacks.
Broken authorization at the API layer (IDOR + missing RLS)
What looked like a simple endpoint:
/profiles?id=eq.{id}
…turned into a full attack chain:
• Enumerate all users via open query
• Extract profile data at scale
• Pivot into related tables (posts, mentor data)
• Correlate and reconstruct user activity
No exploits. No brute force.
Just trusting the client too much.
d:-)-<-<]:
Impact (realistic scenario):
* Full user data exposure
* Access to private content
* Business data leakage
* Potential reputation damage + compliance risk
d:-)-<-<]:
The root cause wasn’t complex:
* Missing Row Level Security (RLS)
* No ownership validation
* Public API design with client-controlled identifiers
d:-)-<-<]:
What actually fixes this (not just patches it):
* Enforce strict RLS (auth.uid() = user_id)
* Move authorization logic server-side
* Treat every client parameter as untrusted
* Monitor enumeration patterns early
d:-)-<-<]:
Most teams focus on vulnerabilities.
I focus on attack paths and exploitability at scale.
If you're building on Supabase or similar backend-as-a-service platforms —
this class of issue is more common than you think.
d:-)-<-<]:
If you want, I can review your API architecture and show you exactly where similar risks might exist.

1 reactions · 0 comments