BomboBombone.exe
ARCHITECTURE:x86-64
BACK
.WEB.OAUTHXenForo / OAuth2
08 Sept 2026 · 3 min
XenForo / OAuth2 · 08 Sept 2026

CVE-2026-73310: OAuth2 redirect URI mismatch

An OAuth code issued for callback A could be redeemed with callback B.

POST VIEWTEXT / UTF-8
ADDRESS MARKDOWN BYTES

XenForo 2.3.12 build 2031270 did not bind an OAuth2 authorization code to the redirect URI used during authorization. A code issued for one registered callback could be redeemed through another callback registered to the same client.

Technical details

XenForo stored the selected redirect URI on the OAuthRequest. During token redemption, the server only checked whether the submitted redirect_uri appeared in the client’s allowlist. It did not compare that value with the URI attached to the authorization request that issued the code.

Reproduction

  1. Register callback A and callback B on the same client.
  2. Authorize with callback A.
  3. Exchange the resulting code while sending callback B.
  4. Use the returned token at /api/me.

The token endpoint returned an access token, and the token authenticated as the user who authorized through callback A.

Impact

An attacker with a valid authorization code and control of another registered callback could redeem the code through that callback. Relevant cases include abandoned endpoints and custom URI schemes claimed by another application. The attack does not bypass the requirement for a valid code.

XenForo 2.3.13 binds the submitted redirect URI to the authorization request that produced the code.

References

1679 UTF-8 BYTES .WEB.OAUTH · ADDRESSES ARE UTF-8 BYTE OFFSETS

Resize column

Choose a width with the slider or the narrower and wider buttons.