Wiz walked into private Base44 apps using a value printed on the front door
- Date
- Jul 9, 2025
- Tools involved
- base44
- Impact
- Private enterprise apps on Base44 (internal chatbots, knowledge bases, tools handling PII and HR data) were reachable by anyone holding a public app_id; no evidence of prior abuse was found
- Root cause
- Unauthenticated registration and OTP verification endpoints accepted a publicly exposed app_id, allowing full authentication bypass including enterprise SSO
What happened
On July 9, 2025, Wiz Research disclosed a critical authentication bypass vulnerability in Base44, a popular vibe coding platform that Wix had acquired roughly a month earlier. The flaw sat in two API endpoints, user registration and OTP email verification, neither of which required authentication. Both accepted an app_id value as their key input.
The problem: app_id was not a secret. It was publicly exposed in application URLs and in manifest.json files. Wiz researcher Gal Nagli showed that with only that value, an attacker could register a new account on someone else's private application, verify it via the OTP endpoint, and then log in through the app's own SSO. That fully bypassed authentication, including enterprise SSO, on applications their owners believed were private.
The affected apps were not toy projects. They included internal chatbots, knowledge bases, and tools handling PII and HR operations. The barrier to exploitation was trivial: basic API knowledge and a value hiding in plain sight. No zero-day skills, no phishing, no stolen credentials.
Wix fixed the flaw within 24 hours of disclosure and said it found no evidence of prior abuse. The case became one of the most widely cited examples of how vibe coding platforms can expose authentication and non-human identity gaps at scale: one platform-level mistake instantly applied to every private app built on top of it.
Impact
Any private application built on Base44 was effectively open to anyone who could read an app_id out of a URL or manifest.json file, and that included enterprise deployments running internal chatbots, knowledge bases, and HR tools handling PII. The saving grace was the response: Wix patched within 24 hours of Wiz's disclosure and reported no evidence that the flaw had been abused before the fix. The exposure window's real damage was reputational, landing a month after Wix's acquisition and becoming a standard citation for platform-level risk in vibe coding.
Root cause
Two API endpoints, user registration and OTP email verification, required no authentication and trusted an app_id as if it were a credential. Since the app_id was publicly visible in application URLs and manifest.json files, possession proved nothing. An attacker could use it to register an account, pass verification, and sign in through the target app's own SSO. The lesson is old but evergreen: a client-visible identifier is an address, not a key, and every authentication flow endpoint needs its own access control.
How to not be this entry
- Never treat a client-visible identifier as an authentication factor. Base44's app_id lived in URLs and manifest.json files, which means every visitor already had it. If a value ships to the browser, design as if attackers hold it. Read the fix guide: The AI put your API key in the frontend: OpenAI, Stripe, or Supabase keys visible in the JS bundle
- Put access control on every endpoint, including registration, verification, and other 'plumbing' routes. Auth bypasses hide in the flows that create and confirm accounts, not just the login form. Read the fix guide: No auth on your AI-generated API endpoints: anyone can call your backend
- If you build on a vibe coding platform, verify what 'private' actually means. Log out, grab only the public identifiers your app exposes, and try to get in. Your app's privacy is only as strong as the platform's weakest endpoint.
- Treat enterprise SSO as a perimeter worth testing, not a checkbox. This flaw let attackers walk in through the app's own SSO after registering out-of-band, so test the paths around your SSO, not just through it.
Tools that actually fix this
Recommended because they address the failure mode above, not because of the payout. Some are affiliate links; see how we choose.
If your AI-built app uses Supabase, Row Level Security is the actual fix for exposed data, and it is free. The dashboard's Security Advisor lists every table you left open.
Try Supabase →Drop-in authentication that handles sessions, tokens, and protected routes properly, so you stop shipping the hand-rolled auth an AI guessed at. Generous free tier for a real app.
Try Clerk →Frequently asked questions
What was the Base44 vulnerability?
The Base44 vulnerability, disclosed by Wiz Research on July 9, 2025, was a critical authentication bypass in the vibe coding platform Wix had recently acquired. Two API endpoints for user registration and OTP email verification required no authentication and accepted an app_id that was publicly visible in app URLs and manifest.json files, letting anyone register a verified account on private applications and log in through their SSO.
Who discovered the Base44 authentication bypass?
Wiz Research discovered the Base44 authentication bypass, with researcher Gal Nagli demonstrating that an attacker needed only a publicly visible app_id to register an account, verify it, and log in to private applications through their own SSO. Wiz disclosed the flaw on July 9, 2025.
Was any data stolen through the Base44 flaw?
Wix said it found no evidence of prior abuse of the Base44 authentication bypass, and it fixed the flaw within 24 hours of Wiz's disclosure. The exposure was still serious because affected private apps included internal chatbots, knowledge bases, and tools handling PII and HR operations.
How did the Base44 attack actually work?
An attacker took an app_id from a public source, such as an application URL or manifest.json file, and fed it to Base44's unauthenticated registration and OTP verification endpoints. That produced a verified account on the target's private app, and the attacker then logged in through the app's own SSO, bypassing authentication entirely, including enterprise SSO.
Sources
- Wiz Research: Critical vulnerability in Base44 exposed private applications
- The Hacker News: Wiz uncovers critical access bypass in Base44 vibe coding platform
- SecurityWeek: Flaw in vibe coding platform Base44 exposed private enterprise applications
Related error guides
No auth on your AI-generated API endpoints: anyone can call your backend
The AI put your API key in the frontend: OpenAI, Stripe, or Supabase keys visible in the JS bundle
The Vibe Oops briefing
One email when something ships to production that should not have. New incidents, new error guides, no filler.