Platform

Platform overview How it works Authorization testing Evidence & reports Private scanning Integrations

Solutions

Security agencies Product teams Regulated industries Partner programme

Learn

Blog Knowledge hub Compare

Resources

Pricing Documentation Help centre FAQ Security & data What we haven’t proved

Company

About Contact Careers Sign in to the platform Start a $199 pilot →

Home / Knowledge hub / SSO misconfiguration

Knowledge hub

SSO misconfiguration

A single sign-on setup that trusts the wrong issuer or accepts the wrong audience.

Illustration explaining SSO misconfiguration

What it means

SSO misconfiguration is a mistake in how your app trusts a single sign-on provider. The sign-in protocols are sound, but they only work if your app checks the right things: who issued the statement, who it was meant for, whether it is signed and whether it has expired.

When one of those checks is missing or too loose, the app accepts a statement that was never meant for it. The sign-in page still works for honest users, which is why the flaw can sit unnoticed for years. That makes it a quiet kind of flaw, and one that tends to be found only by someone deliberately sending the wrong input.

Why it matters

The result is usually account takeover, and often of the most powerful accounts. A statement from a different company's tenant, a different application or an unverified email address can be enough to be treated as your administrator. Because sign-in sits at the front door of everything, the effect spreads to every part of the product.

It also hits the customers you most want. Large buyers connect their own identity provider, and a flaw in how you handle that connection can mix up one customer's people with another's. That is a data breach in a product that was only meant to make sign-in easier.

How it shows up

Common causes are accepting tokens from any tenant of a shared identity provider, not checking the audience, linking accounts by email address without confirming ownership, and loose redirect address rules. Also check that the app refuses unsigned statements and that a customer's own setup cannot name someone else's domain.

Look at the callback in your code and at the settings in both systems. Test with a statement issued for another application or tenant, and with a changed email claim. See OpenID Connect and SAML for the checks each protocol expects.

Questions people ask

SSO misconfiguration, answered

Is SSO misconfiguration a flaw in SAML or OpenID Connect?

Usually not. The protocols specify what to check. The flaw is in an app that skips or loosens a check, or in settings that trust more than they should.

What is an audience check?

Each statement names who it was issued for. Your app must confirm that this is itself. Without that, a statement issued for another app can be replayed against yours.

Why is matching users by email risky?

If the provider does not verify email ownership, an attacker can register someone else's address and be matched to their account. Match on a stable identifier, and treat email as a hint.

Does a customer's own identity provider add risk?

It can. You are trusting an issuer you do not run. Bind each connection to one customer, restrict the domains it may assert, and never let it create administrators in another customer's space.

How do we test our SSO setup?

Replay a statement for another application, change the audience and email claims, remove the signature, and use an expired one. A correct app refuses each of them.

Cyberlop mark

What does the callback accept?

Sign-in callbacks are a common source of business-logic flaws, and we test them on the running app, proving what a mismatched or forged statement can reach. Each finding carries the request and response. Book a pilot on one app.

Or start with a $199 pilot on one application: thirty days, success criteria agreed before day one, credited against the annual if you convert.