Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSet OAuth identity email to victim address
-
DeliveryInitiate OAuth login to Plane
-
ExploitPlane trusts unverified provider email
-
ExecutionMatch to victim's existing local account
-
ImpactSession granted, account taken over
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK
2 techniques across 2 tactics: Defense Evasion, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the Plane instance (prior to 1.4.0) to be configured for Gitea OAuth, OR for self-managed GitLab OAuth where email confirmation is disabled, so that the provider returns an unverified email that Plane trusts. The attacker must control an OAuth identity on such a provider (e.g. their own self-hosted Gitea/GitLab) and set its unverified email to the victim's address, and the victim must already have an existing local Plane account under that email for the direct match to succeed. Limiting factors: deployments using GitHub, GitLab.com, or Google OAuth are NOT exploitable because those providers return verified emails; the attack does not work against default hosted-provider configurations. |
| Impact | This is a genuine high-priority authentication/account-takeover flaw, but its real-world reach is gated by deployment configuration rather than being universally exploitable. The input CVSS vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N, 9.1) describes a network-reachable, unauthenticated, low-complexity attack yielding full confidentiality and integrity impact (complete takeover of a victim's Plane account), which is consistent with the described mechanism: Plane matched an attacker-asserted, provider-unverified OAuth email directly to an existing local account. No EPSS score was provided, the CVE is NOT listed in CISA KEV, and no public proof-of-concept was supplied - so exploitation is unproven in practice. The one tension with the raw score is that AC:L does not reflect the real precondition that the Plane instance must be configured to use Gitea OAuth, or self-managed GitLab OAuth with email confirmation disabled; GitHub.com, GitLab.com, and Google deployments are explicitly unaffected because they return verified emails. In short: a real and serious issue for affected OAuth configurations, but not a blanket drive-by against every Plane install - closer to a targeted takeover than mass exploitation, and the absence of KEV/EPSS/POC signals supports treating urgency as configuration-dependent. |
| Exploit ScenarioDerived | An attacker running a self-hosted Gitea instance (or a self-managed GitLab with email confirmation disabled) that a target organization has wired into Plane for OAuth sets the unverified email on an attacker-controlled identity to a victim employee's address. When the attacker logs in to Plane via that OAuth provider, Plane matches the unverified email to the victim's existing local account and grants access without the victim's password. No public exploit code was identified at time of analysis, but the account-takeover path is straightforward given control of an accepted OAuth provider. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Account takeover in Plane (makeplane) versions prior to 1.4.0 allows remote unauthenticated attackers to log in as existing users by exploiting OAuth email trust in Gitea and self-managed GitLab deployments where email confirmation is disabled. The vulnerability (CWE-287) stems from Plane matching the email returned by the OAuth provider to a local account without verifying provider-side ownership; an attacker can set an OAuth identity's unverified email to the victim's address and authenticate as them without knowing the password, as confirmed by the provided independent assessment. Deployments using GitHub, GitLab.com, or Google OAuth are not affected because those providers return verified emails; no public exploit identified at time of analysis, and the flaw is gated by deployment configuration rather than being universally exploitable.
RemediationAI
Upgrade to Plane 1.4.0 or later, which contains the vendor-released patch (PR #9289, commit b91b61c, release v1.4.0) that enforces email verification across all OAuth providers. If immediate upgrade is not possible, disable Gitea OAuth and self-managed GitLab OAuth in the Plane configuration to prevent the attack vector; note that this may disrupt SSO for users relying on those providers. Alternatively, ensure that any self-managed GitLab instance has email confirmation enabled (so that confirmed_at is populated) as a temporary risk reduction, though this does not fix the underlying trust issue. Restricting authentication to GitHub, GitLab.com, or Google OAuth is also safe but may require users to change their login method. The vendor advisory is at https://github.com/makeplane/plane/security/advisories/GHSA-7j95-vh8g-f365.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Plane's authentication subsystem integrates OAuth providers (Gitea, GitLab, GitHub, Google) to allow single sign-on. The root cause class is improper authentication (CWE-287): the OAuth adapters trusted the email claim returned by the provider's userinfo endpoint without validating the accompanying verification status (e.g., email_verified for Google, confirmed_at for GitLab, primary+verified for GitHub, or the verified flag for Gitea). An attacker with control over an OAuth identity on an affected provider - specifically a self-hosted Gitea instance or a self-managed GitLab instance with email confirmation disabled - could set their unverified email to the victim's address, and the victim must already have an existing local Plane account under that email for the direct match to succeed. Because Plane's login logic matched the provider-supplied email directly to an existing local account, the attacker would be authenticated as that victim. The patch in v1.4.0 adds strict verification enforcement: Gitea now requests the read:user scope and rejects unverified emails; GitHub requires both primary and verified flags; GitLab rejects accounts without confirmed_at; and Google fails closed unless verified_email is explicitly true. The CPE cpe:2.3:a:makeplane:plane:*:*:*:*:*:*:*:* confirms all versions before 1.4.0 are affected.
Know when Plane gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Network-reachable login flow, no target-side privileges or user interaction, and asserting a victim email is low-effort, giving full account takeover (C:H/I:H); availability unaffected (A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Plane is an open-source project management tool. Prior to 1.4.0, Plane trusts email addresses returned by Gitea OAuth and by self-managed GitLab OAuth deployments where email confirmation is disabled, without verifying that the provider authenticated ownership of the address. An attacker can set an OAuth identity's unverified provider email to a victim's address, which Plane matches directly to the victim's existing local account. The attacker can then log in to the victim's Plane account without knowing the victim's password. GitHub, GitLab.com, and Google are not affected because those providers return verified email addresses. This issue is fixed in 1.4.0.
Articles & Coverage 1
Technical POC Analysis
CWE-287 Improper Authentication: Plane authenticates a user as an existing local account based solely on the email string returned by the OAuth provider, without proving the provider verified the acc…
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A critical account-takeover flaw in Plane (makeplane), an open-source project and issue tracking platform, allows an attacker to log in as an existing user on deployments that authenticate through self-managed Gitea or self-managed GitLab - a setup common in organizations that host their own identity infrastructure. The attacker gains the victim's full account access without credentials, exposing any roadmap, security, or customer-sensitive project data those accounts can reach. No vendor-released patch is available at time of analysis, and exposure is confined to deployments using those specific providers with permissive email-verification settings.
No vendor-released patch identified at time of analysis; no public exploit identified at time of analysis. Interim mitigations: enforce mandatory email confirmation/verification in self-managed Gitea and GitLab so OAuth responses never carry unverified addresses; disable self-managed Gitea/GitLab as Plane OAuth providers and permit only GitHub, GitLab.com, or Google; enforce MFA on all Plane accounts; audit and unlink OAuth identities matching unverified or unexpected email addresses; monitor authentication logs for anomalous account-linking and login events.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Plane version 0.7.1 allows an unauthenticated attacker to view all stored server files of all users. Rated high severity
Authenticated users who can create a workspace in Plane can force the application's background worker to fetch internal-
Unauthenticated remote attackers can forge Django-signed session cookies, CSRF tokens, and password-reset tokens, and by
Workspace invitation hijacking in Plane prior to 1.4.0 lets an unauthenticated attacker take over a pending workspace in
Plane is an open-source project management tool. Rated medium severity (CVSS 5.8), this vulnerability is remotely exploi
Improper authorization in Plane before 1.4.0 lets an authenticated workspace Guest hijack file assets from other project
Brute-forceable magic-code email login in Plane versions prior to 1.4.0 allows unauthenticated remote attackers to guess
Server-side request forgery in Plane, the open-source project management tool, allows a low-privilege user of a connecte
Authenticated cross-workspace access control bypass in Plane (makeplane/plane) before version 1.4.0 lets any user with a
Plane prior to 1.4.0 allows an authenticated workspace member to bypass project-level authorization and join any project
Stored cross-site scripting in Plane prior to 1.4.0 lets an authenticated low-privilege workspace member - including a G
Stored cross-site scripting in Plane (versions up to and including 1.3.1) allows any authenticated user - including a br
EUVD-2026-92596
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB