⚠ Sandboxed environment — This is an intentionally vulnerable application running inside an isolated Docker container with fake data. Nothing you do here can harm the host machine or other users.

A10 – Mishandling Exceptional Conditions

OWASP A10:2025 CWE-636 CWE-754 CWE-209

When code hits an unexpected condition, it has to decide what to do. Each tab is a different way to get that decision wrong — fail open, fall back insecurely, or leak secrets to the user.

CWE-636 Fail Open CWE-754 Silent Insecure Default CWE-209 Stack-Trace Leak
CWE-636 Not Failing Securely (Fail Open)

The auth check defaults to True and swallows exceptions. Any backend hiccup grants access.

Vulnerable code:
def is_authorized(user):
    allowed = True               # default = allow
    try:
        if not check_auth(user):
            allowed = False
    except Exception:
        pass                     # silently keep allowed=True
    return allowed

Try it yourself

Click several times

You are guest. The backend fails ~50% of the time.

Watch the counters

"By error" climbs each time access is granted on the exception path.

You are: guest (not an admin)

attempts: 0 | granted: 0 | by error: 0