Description
FriendsOfFlarum OAuth allows users to log in to Flarum with GitHub, Twitter, Facebook, and other providers. Prior to 1.7.4 and 2.0.0-beta.4, the Discord OAuth provider does not check the verified field returned for an OAuth email before passing the address to Flarum core as trusted through provideTrustedEmail(). When Discord sign-in is enabled, an unauthenticated attacker who knows the email address of a Flarum user can configure a Discord account with that unverified address and a verified phone number, then sign in to cause Flarum to match the trusted address, link the attacker-controlled Discord identity to the existing user, and authenticate as the victim without a password or victim interaction. Exploitation requires that the victim's email address is not already associated with a Discord account, and it can compromise administrator accounts. Other bundled providers were not confirmed to be practically exploitable by this method because their relevant authentication flows return only verified or confirmed email addresses. This issue is fixed in versions 1.7.4 and 2.0.0-beta.4.
Published: 2026-09-25
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Account Takeover
Action: Immediate Patch
AI Analysis

Impact

FriendsOfFlarum OAuth allowed attackers to become authenticated users by exploiting a flaw in the Discord provider that does not verify the verified field on email addresses. An attacker who knows a victim’s email can create a Discord account with the same unverified address and a phone number that is verified. When that account logs in, the OAuth process treats the address as trusted, links the Discord identity to the existing Flarum user, and logs the attacker in as that victim. This grants the attacker full access to the victim’s account, including administrator accounts. The weakness is a failure to verify ownership of an email address, classified as CWE‑345. The result is an unauthenticated account takeover without user interaction.

Affected Systems

The affected vendor is FriendsOfFlarum, product FriendsOfFlarum:oauth. Versions before 1.7.4 and before 2.0.0‑beta.4 are vulnerable. Those releases did not guard against unverified email addresses in Discord OAuth. Users running any of those versions are at risk.

Risk and Exploitability

The flaw has a CVSS score of 9.8, indicating critical severity. The EPSS score is not available, but the lack of constraints on the attacker’s ability and low technical barrier make exploitation likely in practice. The vulnerability is not listed in the CISA KEV catalog, but the high CVSS and the demonstrated exploitability imply a high likelihood of real‑world attacks. The attack vector requires an unauthenticated attacker to create a Discord account with the victim’s email; no victim interaction is needed other than having the victim’s email unlinked from a Discord account. Once the attacker signs in via Discord, the system automatically associates the compromised identity with the victim’s account, allowing immediate authentication as the victim.

Generated by OpenCVE AI on September 25, 2026 at 18:46 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the FriendsOfFlarum OAuth patch to version 1.7.4 or newer to enforce email verification.
  • Disable the Discord OAuth provider entirely or restrict it to verified accounts if a patch cannot be applied immediately.
  • Ensure all user accounts have verified email addresses before allowing OAuth authentication and consider enforcing two‑factor authentication.

Generated by OpenCVE AI on September 25, 2026 at 18:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-g7vj-c29h-3h5m FriendsOfFlarum OAuth: Unauthenticated account takeover via unverified email trust in Discord OAuth provider
History

Tue, 29 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Sun, 27 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
First Time appeared Friendsofflarum
Friendsofflarum oauth
Vendors & Products Friendsofflarum
Friendsofflarum oauth

Fri, 25 Sep 2026 16:00:00 +0000

Type Values Removed Values Added
Description FriendsOfFlarum OAuth allows users to log in to Flarum with GitHub, Twitter, Facebook, and other providers. Prior to 1.7.4 and 2.0.0-beta.4, the Discord OAuth provider does not check the verified field returned for an OAuth email before passing the address to Flarum core as trusted through provideTrustedEmail(). When Discord sign-in is enabled, an unauthenticated attacker who knows the email address of a Flarum user can configure a Discord account with that unverified address and a verified phone number, then sign in to cause Flarum to match the trusted address, link the attacker-controlled Discord identity to the existing user, and authenticate as the victim without a password or victim interaction. Exploitation requires that the victim's email address is not already associated with a Discord account, and it can compromise administrator accounts. Other bundled providers were not confirmed to be practically exploitable by this method because their relevant authentication flows return only verified or confirmed email addresses. This issue is fixed in versions 1.7.4 and 2.0.0-beta.4.
Title FriendsOfFlarum OAuth: Unauthenticated account takeover via unverified email trust in Discord OAuth provider
Weaknesses CWE-345
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Friendsofflarum Oauth
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-29T19:21:01.907Z

Reserved: 2026-09-15T17:13:57.866Z

Link: CVE-2026-92161

cve-icon Vulnrichment

Updated: 2026-09-29T19:20:56.075Z

cve-icon NVD

Status : Deferred

Published: 2026-09-25T16:17:29.387

Modified: 2026-09-30T19:57:08.043

Link: CVE-2026-92161

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T11:43:39Z

Weaknesses
  • CWE-345

    Insufficient Verification of Data Authenticity