Skip to content

Forced Browse Auth Bypass — Protected Endpoints Without Auth

forced-browse-auth-bypass is a high severity check in the web category, written in python. Its source is templates/web/auth-bypass/forced-browse-auth-bypass.py in cert-x-gen-templates.

Takes the authenticated user’s discovered endpoints and re-probes each one without credentials. Any endpoint returning 200 without auth that previously required it is a forced-browse auth bypass. Complements vertical-privesc by testing full auth stripping rather than role confusion.

Field Value
Id forced-browse-auth-bypass
Severity high
Language python
Category web
Author BugB Security Team
Template version 1.0.0
Confidence 85
CVSS 7.5
Weakness CWE-425
Tags forced-browse, auth-bypass, broken-access-control, owasp-a01, unauthenticated-access
Target kind not recorded
Oracle not recorded

The file declares @auto_probe, @batch_group, @context_vars, @hypothesis_tags, @vuln_class as well. Those are not tabled above; read the source for what they carry.

Declared in the header. cxg parses @references and then discards it, and nothing at scan time reads it, so this is the only place the links a template cites are surfaced.

To see what the copy on your machine says about itself, and to confirm it is installed at all:

Terminal window
cxg template info forced-browse-auth-bypass

The id it prints is the one to pass anywhere a template is selected. See cxg template for the rest of the subcommand, Scan a target for running a scan, and A match is not a finding for how to read what comes back.