Impattu
L'attaccanti ponu scaccià a logica di l'applicazione per leghje, aghjurnà o sguassate i registri in a basa di dati se a Seguretat di Livellu di Fila (RLS) ùn hè micca infurzata bè [S1]. Questu spessu risultatu in l'esposizione di l'Informazione Personalmente Identificabile (PII) o di dati d'applicazioni sensittivi à l'utilizatori chì anu accessu solu à a chjave anonima publica API.
Causa Root
Supabase usa Postgres Row Level Security per gestisce l'accessu di dati à u livellu di basa di dati, chì hè fundamentale per assicurà e dati [S1]. In un ambiente Next.js, i sviluppatori devenu creà un cliente Supabase chì gestisce currettamente i cookies è e sessioni per mantene a sicurità durante a prestazione di u servitore [S2]. Vulnerabilità sò generalmente quandu:
- I tavulini sò creati senza RLS attivatu, rendendu accessibile per mezu di a chjave publica anon [S1].
- U cliente Supabase hè misconfigured in Next.js, fallendu passà bè i tokens d'autentificazione di l'utilizatori à a basa di dati [S2].
- I sviluppatori usanu accidentalmente a chjave
service_rolein u codice di u cliente, chì bypasses tutte e pulitiche RLS [S1].
Correzioni Concrete
- Abilita RLS: Assicuratevi chì a Sicurezza di Livellu di Fila hè attivata per ogni tavula in a vostra basa di dati Supabase [S1].
- Definite Politiche: Crea e pulitiche Postgres specifiche per
SELECT,INSERT,UPDATE, èDELETEoperazioni per limità l'accessu basatu annantu à l'Usuariu ZBEXTOCVIX. - Usà Clienti SSR: Implementa u pacchettu
@supabase/ssrper creà clienti in Next.js chì gestiscenu currettamente l'autentificazione di u servitore è a persistenza di sessione [S2].
Cumu FixVibe prova per questu
FixVibe copre digià questu per mezu di cuntrolli di app implementate è repo. U modulu passiu baas.supabase-rls scopre l'URL Supabase è coppie anon-key da pacchetti JavaScript di a stessa origine, dumanda à PostgREST per metadati di tavule pubbliche, è eseguisce selezioni limitate di sola lettura per cunfirmà l'esposizione di dati anonimi senza mutazione di dati di i clienti. Repo scans ancu eseguite repo.supabase.missing-rls per signalà migrazioni SQL chì creanu tavule publiche senza ENABLE ROW LEVEL SECURITY, è scans secreti cercanu l'esposizione di chjave di u rolu di serviziu prima di ghjunghje à u navigatore.
