What Is Wildcard CORS?
CORS controls which websites can read responses from your API in a browser. The dangerous misconfiguration is allowing any origin (a wildcard, or reflecting the request origin) together with credentials — which lets a malicious site make authenticated requests on your users' behalf and read the results. It is a common default in Express, FastAPI, and Flask apps that "just wanted CORS to work".
How Wildcard CORS Shows Up
Wildcard with credentials
Access-Control-Allow-Origin: * combined with Allow-Credentials: true (or reflecting Origin) lets any site read authenticated responses.
Origin reflection
Echoing back whatever Origin the request sends is effectively a wildcard and bypasses the intended allowlist.
Overly broad allowlists
Allowing entire TLDs, *.vercel.app, or all subdomains exposes you to any app hosted there.
Account takeover chains
Permissive CORS plus a session cookie can let an attacker's page read a victim's private data or perform actions as them.
How the Sable Scan Detects It
Origin probing
We send requests with crafted Origin headers to detect wildcard, reflection, and null-origin acceptance.
Credentialed-request testing
We check whether credentials are allowed alongside a permissive origin — the dangerous combination.
Clear remediation
You get the exact safe CORS config: explicit origins, no wildcard-with-credentials.
Check Your App for Wildcard CORS
Create a free account and let the agents test your app. Every finding is validated with a proof-of-concept and remediation. 150 founder credits, no credit card.
Get 150 Free Credits