CVE-2026-63198: traQ OAuth2 authorization bypass with empty scope parameter

CVE-2026-63198 · Severity: high · CVSS 7.3 · Published 2026-11-03

traQ is a messenger application used by the Digital Creators Club traP. An attacker who controls an OAuth client can trick the application into issuing access tokens with broader permissions than a user previously consented to, by submitting an authorization request with an empty scope parameter. This allows an attacker to gain unauthorized access to user accounts with elevated privileges without additional user consent.

Technologies: github.com/traPtitech/traQ (Go). Vendors: Go.

Quick answers

Is CVE-2026-63198 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-63198 being exploited in the wild.
How severe is CVE-2026-63198?
High severity, with a CVSS score of 7.3, published 3 November 2026.
Which products and versions are affected?
github.com/traPtitech/traQ (Go) < 1.0.0-rc.2.0.20260629134940-5510fe8aa9bb, SEMVER:introduced=0,fixed=1.0.0-rc.2.0.20260629134940-5510fe8aa9bb; traPtitech traQ before 3.28.3.
Is there a fix for CVE-2026-63198?
Yes. github.com/traPtitech/traQ (Go): upgrade to 1.0.0-rc.2.0.20260629134940-5510fe8aa9bb or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-63198 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-63198?
Check whether you run github.com/traPtitech/traQ (Go) or traPtitech traQ at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/traPtitech/traQ (Go): upgrade to 1.0.0-rc.2.0.20260629134940-5510fe8aa9bb or later
    go get github.com/traPtitech/traQ@v1.0.0-rc.2.0.20260629134940-5510fe8aa9bb

Technical details

The vulnerability exists in the OAuth2 authorization endpoint when processing silent authorization requests (prompt=none) with an empty or omitted scope parameter. The application incorrectly checks prior user consent against the empty requested scope set rather than the full set of registered client scopes, allowing an attacker to obtain tokens containing all registered scopes for a previously partially-consented client. The fix validates that when no scope is explicitly requested, the application checks consent against all valid scopes registered for the client.

Affected products

  • traPtitech traQ before 3.28.3

Identifiers

  • CVE-2026-63198
  • GHSA-8cfq-jgf7-8m27

Timeline

  • 2026-11-03: disclosed
  • 2026-07-01: patched: v3.28.3 released on GitHub

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.