Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocate freshly deployed Plane instance
-
DeliverySend concurrent admin signup requests
-
ExploitWin TOCTOU race on first-admin check
-
ExecutionCreate second User and InstanceAdmin rows
-
ImpactReceive instance-admin session and persist access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitable only against a Plane deployment (0.13 through pre-1.4.0) whose initial instance-admin setup has NOT yet completed - i.e., InstanceAdmin.objects.first() returns none and is_setup_done is False - with the InstanceAdminSignUpEndpoint network-reachable. The attacker must issue multiple concurrent signup requests to win the TOCTOU race before the legitimate first admin is committed; after setup completes the endpoint rejects new admins and the flaw is unreachable. Limiting factors: unauthenticated but requires a successful race during the brief first-boot window (hence CVSS AC:H), requires network exposure of the admin signup path, and is irrelevant to instances already initialized. |
| Impact | Signals are moderately concerning but situational. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N, base 8.1 HIGH) correctly captures an unauthenticated, network-reachable flaw with full C/I/A impact (instance-admin takeover), while AC:H reflects the TOCTOU race that must be won. No EPSS score, CISA KEV listing, or public POC was supplied - the only code artifacts in the input are the vendor fix (PR #9332, commit 7fbf14a, GHSA-p548-28jp-wr4p), not exploit code, so this is 'no public exploit identified at time of analysis.' The decisive real-world limiter, which raw CVSS does not convey, is that the vulnerable endpoint is only reachable before the first instance administrator is created (is_setup_done=False); once initial setup completes the race window closes permanently. This makes mass, opportunistic exploitation unlikely and points toward targeted abuse against freshly deployed, not-yet-configured, internet-exposed Plane instances. Net: a legitimate HIGH-severity integrity/privilege issue, but with a narrow exploitation window rather than broad standing exposure - prioritize for new/unconfigured deployments over already-initialized ones. |
| Exploit ScenarioDerived | An attacker who discovers a newly deployed, internet-reachable Plane instance that has not yet completed first-admin setup sends two (or more) concurrent signup requests with different email addresses. Because the first-admin check and account creation are not serialized, both requests observe 'no admin exists' and each creates its own User + InstanceAdmin, so the attacker is provisioned as a co-administrator alongside the legitimate operator. No public exploit code was identified; the attack requires winning the race during the brief setup window (CVSS AC:H). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Plane's InstanceAdminSignUpEndpoint in versions 0.13 through pre-1.4.0 allows unauthenticated remote attackers to exploit a time-of-check time-of-use race during first-run setup and create a second instance administrator with full instance-admin authority alongside the legitimate operator. Exploitation requires that no instance administrator exists yet and that the attacker wins a concurrent-request race before the legitimate first admin is committed; after setup completes, the endpoint rejects new admins and the flaw is unreachable. No public exploit identified at time of analysis, and the risk is situational because the vulnerable window is brief and requires network reachability to the admin signup path.
RemediationAI
Upgrade to the vendor-released patched version 1.4.0 or later; the fix is referenced by https://github.com/makeplane/plane/releases/tag/v1.4.0 and the upstream commit https://github.com/makeplane/plane/commit/7fbf14a6cb494bbf5866e2b293b28a6d8a7e52c3. If immediate upgrade is not possible, restrict network access to the instance-admin signup endpoint using a reverse-proxy allowlist, VPN, or firewall rule so only trusted operators can reach it, but this blocks legitimate first-run setup until access is restored. Complete the initial administrator setup from a trusted network as soon as possible after deployment, then verify that instance.is_setup_done is True and an InstanceAdmin row exists, because once setup is complete the endpoint rejects new admins and the race is unreachable. As a further compensating control, apply the upstream patch or backport the transaction.atomic() and select_for_update() check-and-create logic from PR 9332, noting that any custom bypass of the signup flow must preserve the same locking and re-check semantics.
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
The vulnerability is a race condition (CWE-362) in Plane's Django-based API, specifically InstanceAdminSignUpEndpoint in apps/api/plane/license/api/views/admin.py. The original code uses InstanceAdmin.objects.first() as the first-admin guard and then creates User, Profile, and InstanceAdmin rows without an atomic transaction, select_for_update row lock, uniqueness constraint, or advisory lock. Two concurrent unauthenticated signup requests with different email addresses can both observe an empty InstanceAdmin table and each create an administrator, yielding sessions with instance-admin authority. The affected product is captured by CPE cpe:2.3:a:makeplane:plane:*:*:*:*:*:*:*:*, with the advisory range running from 0.13 until fixed in 1.4.0. The upstream fix wraps the check-and-create in transaction.atomic(), re-reads the Instance row with select_for_update(), re-checks instance.is_setup_done and InstanceAdmin.objects.exists() inside the lock, and moves session token generation outside the lock. The independent assessment confirms CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H and notes exploitation is limited to deployments whose initial instance-admin setup has not completed, with the admin signup endpoint network-reachable.
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:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated network endpoint (AV:N/PR:N); AC:H because success depends on winning a concurrency race within the pre-setup window; instance-admin takeover yields full C/I/A.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Plane is an open-source project management tool. From 0.13 until 1.4.0, InstanceAdminSignUpEndpoint in apps/api/plane/license/api/views/admin.py:89-117, 173-229 uses InstanceAdmin.objects.first() for the first-admin check and performs account creation without an atomic transaction, row lock, uniqueness guard, or advisory lock. Two concurrent unauthenticated requests with different email addresses can both observe that no instance administrator exists, create separate User and InstanceAdmin rows, and receive sessions with instance-admin authority. This allows an attacker to share unrestricted instance administration with the legitimate operator. This issue is fixed in 1.4.0.
Technical POC Analysis
CWE-362 (concurrent execution with improper synchronization).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A race condition in Plane's first-run setup endpoint (CVE-2026-104970, CVSS 8.1) could let an attacker who reaches a newly deployed instance before its first administrator is created quietly establish a second, fully privileged instance-admin account. Because that rogue account carries the same authority as the legitimate operator, an affected organization could face unauthorized access to every project, issue, and attachment on the instance, along with the ability to alter, delete, or exfiltrate that content. The exposure is narrow - it exists only during the brief window before a legitimate admin is committed and disappears once setup completes - so leadership should treat this primarily as a deployment and exposure-management risk for teams running self-hosted Plane 0.13 through pre-1.4.0.
No vendor-released patch identified at time of analysis. Interim mitigations: keep any unconfigured or first-run Plane instance off untrusted networks (VPN-only, IP allowlist, or reverse-proxy restriction on the admin signup path); complete initial setup under maintenance-window conditions before exposing the service; audit and reconcile the instance-admin roster against expected operators; review application and web-server logs for concurrent signup requests during setup windows; and rotate administrative credentials and API tokens if an unexpected admin account is discovered.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).
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
Account takeover in Plane (makeplane) versions prior to 1.4.0 allows remote unauthenticated attackers to log in as exist
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
EUVD-2026-92492
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB