/

CVE-2026-111639

Severity:

HIGH RISK

(8.1)

Authentication Bypass (CWE-287) in bbs-go Google Login

CVE-2026-111639

Deferred

Vulnerability type

Category:

Authentication Bypass

CWE:

CWE-287

Impact:

Account Takeover

Severity:

HIGH RISK

(8.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

bbs-go's Google One Tap login endpoint does not verify that a Google-signed ID token was issued for the application's own OAuth client. An attacker using a token from another OAuth client may therefore obtain an authenticated session as a victim whose identity is linked to a bbs-go account.

bbs-go's Google One Tap login endpoint does not verify that a Google-signed ID token was issued for the application's own OAuth client. An attacker using a token from another OAuth client may therefore obtain an authenticated session as a victim whose identity is linked to a bbs-go account.

Affected context

This vulnerability occurs in deployments using the /api/login/google_one_tap endpoint for Google-based authentication. It becomes risky when the application accepts Google ID tokens without validating the aud claim against a trusted, application-specific OAuth client identifier, allowing tokens issued for unrelated clients to reach the account-login flow.

This vulnerability occurs in deployments using the /api/login/google_one_tap endpoint for Google-based authentication. It becomes risky when the application accepts Google ID tokens without validating the aud claim against a trusted, application-specific OAuth client identifier, allowing tokens issued for unrelated clients to reach the account-login flow.

Exploit preconditions

  • Attack surface: Public Google One Tap authentication endpoint
  • Required access: Ability to submit a Google-signed ID token to the endpoint; an attacker may operate or access a separate Google OAuth client
  • Trigger point: Processing of the submitted token during login
  • Why exploitation is possible: The application authenticates the token issuer and identity without confirming that the token audience matches the intended bbs-go OAuth client
  • Attack surface: Public Google One Tap authentication endpoint
  • Required access: Ability to submit a Google-signed ID token to the endpoint; an attacker may operate or access a separate Google OAuth client
  • Trigger point: Processing of the submitted token during login
  • Why exploitation is possible: The application authenticates the token issuer and identity without confirming that the token audience matches the intended bbs-go OAuth client

Why this happens

The underlying bug is incomplete validation of an externally issued authentication assertion. The login flow accepts a valid Google ID token but omits validation of its aud claim, which identifies the OAuth client for which the token was issued. This maps to CWE-287: Improper Authentication, because the application treats an assertion intended for another client as sufficient proof for its own authentication context.

The underlying bug is incomplete validation of an externally issued authentication assertion. The login flow accepts a valid Google ID token but omits validation of its aud claim, which identifies the OAuth client for which the token was issued. This maps to CWE-287: Improper Authentication, because the application treats an assertion intended for another client as sufficient proof for its own authentication context.

Potential impact

  • Attackers may obtain authenticated sessions as other users
  • User accounts linked to Google identities could be taken over
  • Unauthorized access to private posts, messages, profiles, or administrative functions may occur
  • Attackers could modify account data or perform actions under a victim's identity
  • Compromised accounts could support further abuse or lateral access
  • Attackers may obtain authenticated sessions as other users
  • User accounts linked to Google identities could be taken over
  • Unauthorized access to private posts, messages, profiles, or administrative functions may occur
  • Attackers could modify account data or perform actions under a victim's identity
  • Compromised accounts could support further abuse or lateral access

General mitigation guidance

Mitigation typically focuses on validating every security-relevant property of third-party identity assertions before creating a session.

Common defensive patterns include:

  • Restricting accepted ID tokens to an explicit allowlist of application-owned OAuth client identifiers
  • Validating the issuer, audience, signature, expiration, nonce, and relevant subject claims
  • Using provider-supported libraries and secure-by-default verification APIs rather than manually trusting decoded claims
  • Binding login state and nonce values to the initiating browser session where applicable
  • Avoiding account matching based solely on unverified or insufficiently scoped identity attributes
  • Applying least privilege to authenticated sessions and requiring stronger verification for sensitive account changes
  • Treating tokens issued for other applications as invalid, even when their signatures are valid

Mitigation typically focuses on validating every security-relevant property of third-party identity assertions before creating a session.

Common defensive patterns include:

  • Restricting accepted ID tokens to an explicit allowlist of application-owned OAuth client identifiers
  • Validating the issuer, audience, signature, expiration, nonce, and relevant subject claims
  • Using provider-supported libraries and secure-by-default verification APIs rather than manually trusting decoded claims
  • Binding login state and nonce values to the initiating browser session where applicable
  • Avoiding account matching based solely on unverified or insufficiently scoped identity attributes
  • Applying least privilege to authenticated sessions and requiring stronger verification for sensitive account changes
  • Treating tokens issued for other applications as invalid, even when their signatures are valid

How teams detect issues like this

Organizations can detect this class of issue through:

  • Static analysis and code review rules that flag decoded token claims used without audience validation
  • Review of OAuth and OpenID Connect flows for issuer, audience, nonce, expiration, and signature checks
  • Tests that submit valid tokens issued for unrelated OAuth clients and verify that authentication is rejected
  • Runtime monitoring for login tokens whose audience does not match the configured application client
  • Policy enforcement requiring centralized, standards-compliant identity-token verification
  • Automated security review tools that identify incomplete JWT or OpenID Connect validation

Organizations can detect this class of issue through:

  • Static analysis and code review rules that flag decoded token claims used without audience validation
  • Review of OAuth and OpenID Connect flows for issuer, audience, nonce, expiration, and signature checks
  • Tests that submit valid tokens issued for unrelated OAuth clients and verify that authentication is rejected
  • Runtime monitoring for login tokens whose audience does not match the configured application client
  • Policy enforcement requiring centralized, standards-compliant identity-token verification
  • Automated security review tools that identify incomplete JWT or OpenID Connect validation

Sources

SourceLink
github.comgithub.com/mlogclub/bbs-go/blob/v4.4.6/internal/pkg/google/jwt.go#L55-L58
github.comgithub.com/mlogclub/bbs-go/blob/v4.4.6/internal/services/third_user_service.go#L274-L293
hackmd.iohackmd.io/@hieuPenguinnn/bbs-go-google-one-tap-id-token-audience-confusion-account-takeover
vulncheck.comvulncheck.com/advisories/bbs-go-through-4.4.6-account-takeover-via-google-one-tap-login

Frequently asked

questions

Yes. The affected login endpoint is remotely accessible, although exploitation depends on obtaining a suitable Google-signed token and having a target identity linked to a bbs-go account.

The attacker generally needs to operate or access a separate Google OAuth client and submit its signed ID token to the vulnerable endpoint. No prior bbs-go account access may be required for the token-validation flaw itself.

Use standards-compliant identity-token verification and require the token's issuer and audience to match the intended Google integration before creating an authenticated session.

Maintain explicit OAuth client allowlists, test cross-client token rejection, centralize token validation, and monitor authentication flows for claims that do not match application configuration.

Yes. The affected login endpoint is remotely accessible, although exploitation depends on obtaining a suitable Google-signed token and having a target identity linked to a bbs-go account.

The attacker generally needs to operate or access a separate Google OAuth client and submit its signed ID token to the vulnerable endpoint. No prior bbs-go account access may be required for the token-validation flaw itself.

Use standards-compliant identity-token verification and require the token's issuer and audience to match the intended Google integration before creating an authenticated session.

Maintain explicit OAuth client allowlists, test cross-client token rejection, centralize token validation, and monitor authentication flows for claims that do not match application configuration.

Find out what's already
exploitable in your codebase.