Summary
CVE-2026-73310 is an authorization flaw (CWE-863: Incorrect Authorization) in the OAuth2 token endpoint of XenForo forum software, affecting all versions before 2.3.13. An attacker who controls any allowlisted redirect URI for an OAuth2 client can bypass redirect URI binding during token exchange, enabling theft of OAuth2 tokens from intercepted authorization flows. The flaw carries a CVSS v4.0 base score of 8.2 (High).
Technical details
- Root cause: the OAuth2 token endpoint fails to strictly bind the
redirect_urisupplied during the token exchange to the one recorded at authorization time. - Trigger condition: an OAuth2 client must have more than one allowlisted redirect URI, and the attacker must control (or be able to intercept traffic to) at least one of those allowlisted URIs.
- Attack vector: network, no privileges or user interaction required beyond the victim completing a normal OAuth2 authorization flow; the attacker submits a different allowlisted redirect URI than the one used originally to complete the token exchange.
- Impact: theft/interception of OAuth2 access tokens, allowing an attacker to impersonate the victim to the relying application without needing to compromise the victim’s XenForo credentials directly.
Affected software
- XenForo (forum software), all versions prior to 2.3.13, when the OAuth2 authorization server functionality is in use.
Severity
- CVSS v4.0: 8.2 (High) —
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - CVSS v3.1: 5.9 (Medium) —
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Mitigation and recommended actions
- Immediate: upgrade XenForo to version 2.3.13 or later, which corrects the redirect URI binding logic in the OAuth2 token endpoint.
- If unable to patch immediately: restrict each OAuth2 client to a single, tightly-controlled redirect URI where possible, and audit existing OAuth2 client configurations for unnecessary or broadly-scoped redirect URI allowlists.
- Review OAuth2 client logs for token exchanges using redirect URIs that differ from the URI used at the initial authorization request.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Raw response body:
jQuery.extend(true, XenForo,Forum software by XenForo™,<!--XF:branding,<html id="XenForo",<html id="XF" - JavaScript object present once the page runs:
XF.GuestUsername

