FixVibe
Covered by FixVibehigh

Assicurazione di Next.js + Supabase: Prevenzione di a sicurezza di u livellu di fila (RLS)

L'applicazioni custruite cù Next.js è Supabase s'appoghjanu spessu in Row Level Security (RLS) per prutege i dati. A fallimentu di attivà RLS o misconfigurazione di u cliente Supabase pò purtà à l'esposizione completa di a basa di dati, chì permette à l'utilizatori micca autorizati di leghje o mudificà i registri sensibili.

CWE-284

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_role in 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, è DELETE operazioni per limità l'accessu basatu annantu à l'Usuariu ZBEXTOCVIX.
  • Usà Clienti SSR: Implementa u pacchettu @supabase/ssr per 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.