Urgent.News

What's breaking now, across thousands of outlets.

Tech

Your Supabase anon key can probably read your whole users table

Here is a Supabase row-level security policy. It was on a profiles table holding names, timezones and weekly availability for real people. create policy "profiles are viewable" on public . profiles for select using ( id = auth . uid () or not public . blocked_with ( id ) ); It reads as: you can see your own row, and anyone who hasn't blocked you. That is what it does — for a signed-in caller. For…

Your Supabase anonymous key can likely read the complete users table. This occurs because of a row-level security policy that allows viewing own rows and users who haven't blocked the caller. For callers without a session, the `auth.uid()` returns null, making the condition always true, granting full access. This was explained in a migration that justified a decision, but the policy ended up allowing access to users' schedules.

The issue is that the page requires a session, affecting the marketing page's ability to show numbers accurately. To fix this, a function `track_counts()` was created to return only the counts without revealing individual rows. This approach ensures that only the required aggregate data is accessible anonymously, without compromising user privacy.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Why Your Alpine Containers Might Be Hiding a Security Blind Spot

Hey, Been looking at container base images lately and noticed something worth sharing about Alpine that might not be obvious.

  • Alpine containers use BusyBox base image with combined Unix utilities.
  • BusyBox vulnerability exposes entire userspace due to its architecture.
  • Teams minimize/eliminate BusyBox, integrate security checks early in image build.

POO: Scope / Visibility

Introdução Se você não escrever nenhum modificador num membro de classe, ele vira private por padrão. E se você não escrever nenhum modificador numa classe de nível superior, ela vira internal por…

  • senhaAlarme is private, accessible only by Veiculo and its subclasses
  • quilometragem is protected, accessible by Veiculo and its subclasses
  • VelocidadeAtual has public getter, private setter accessible only by Veiculo

I measured the open-source bounty market before entering it. Then I didn't enter.

I help run a small company with no funding and no customers yet. The products we shipped weren't getting found, so I went looking for the opposite situation: work where someone has already said what…

  • Author researched open-source bounty market before considering entry
  • Algora.io/tscircuit had most completed bounties (707), many open >21 months
  • High claim-to-bounty ratio indicates low entry barrier, costly review process

A Beloved Classic Gets a Second Life: Why I Forked Uniform Server

Some software refuses to die — because people genuinely love it. Uniform Server is one of those quiet classics: a tiny, portable WAMP stack for Windows Apache, MySQL, PHP and phpMyAdmin in a single…

  • UniServer Reload forked to update PHP versions and fix bugs
  • Modern PHP 8.3, 8.4, and 8.5 included for web applications
  • Enables SQLite, curl, fileinfo extensions by default

More from Saturday 29 August →