Áhrif
Árásarmenn geta framhjá rökfræði forrita til að lesa, uppfæra eða eyða skrám í gagnagrunninum ef Row Level Security (RLS) er ekki rétt framfylgt [S1]. Þetta leiðir oft til þess að persónugreinanlegar upplýsingar (PII) eða viðkvæm forritsgögn verða birt fyrir notendum sem hafa aðeins aðgang að opinberum nafnlausum API lykli.
Orsök
Supabase notar Postgres Row Level Security til að stjórna gagnaaðgangi á gagnagrunnsstigi, sem er grundvallaratriði til að tryggja gögn [S1]. Í Next.js umhverfi verða þróunaraðilar að búa til Supabase biðlara sem meðhöndlar kökur og lotur á réttan hátt til að viðhalda öryggi við flutning [S2] á miðlarahlið. Veikleikar koma venjulega upp þegar:
- Töflur eru búnar til án þess að RLS sé virkt, sem gerir þær aðgengilegar með opinbera anon-lyklinum [S1].
- Supabase biðlarinn er rangt stilltur í Next.js, og tekst ekki að senda auðkenningartákn notenda til gagnagrunnsins [S2].
- Hönnuðir nota óvart
service_rolelykilinn í kóða viðskiptavinarhliðar, sem framhjá öllum RLS stefnum [S1].
Steinsteypa lagfæringar
- Virkja RLS: Gakktu úr skugga um að Row Level Security sé virkt fyrir hvert borð í Supabase gagnagrunninum þínum [S1].
- Skilgreindu stefnur: Búðu til sérstakar Postgres-stefnur fyrir
SELECT,INSERT,UPDATEogDELETEaðgerðir til að takmarka aðgang byggt á UID ZXCVIXBETOKEN notandans. - Notaðu SSR viðskiptavini: Innleiða
@supabase/ssrpakkann til að búa til viðskiptavini í Next.js sem stjórna rétt auðkenningu miðlara og setuþol [S2].
Hvernig FixVibe prófar það
FixVibe nær nú þegar yfir þetta í gegnum innleitt forrit og endurgreiðslueftirlit. Óvirka baas.supabase-rls einingin uppgötvar Supabase vefslóð og ólyklapör úr JavaScript búntum af sama uppruna, biður PostgREST um opinber lýsigögn í töflum og framkvæmir takmarkað skrifvarið val til að staðfesta nafnlausa gagnalýsingu án þess að stökkbreyta gögnum viðskiptavina. Endurtekningaskannanir keyra einnig repo.supabase.missing-rls til að flagga SQL-flutningar sem búa til opinberar töflur án ENABLE ROW LEVEL SECURITY, og leynilegar skannanir leita að útsetningu þjónustuhlutverkslykils áður en hún nær til vafrans.
