Skip to main content

Plane EUVDEUVD-2026-92492

| CVE-2026-104970 HIGH
Race Condition (CWE-362)
2026-10-05 GitHub_M
8.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Locate freshly deployed Plane instance
  2. Delivery
    Send concurrent admin signup requests
  3. Exploit
    Win TOCTOU race on first-admin check
  4. Execution
    Create second User and InstanceAdmin rows
  5. Impact
    Receive 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).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

plane < 1.4.0

Affected Packages

euvd plane fix: 1.4.0

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

Vendor (GitHub_M) PRIMARY 8.1 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.1 HIGH

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 05, 2026 - 18:02 EUVD
CVE Published
Oct 05, 2026 - 16:58 cve.org
HIGH 8.1

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
popular self-hosted open-source PM tool, common but not everywhere
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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).

More in Plane

View all
CVE-2023-2268 HIGH POC
7.5 Jul 15

Plane version 0.7.1 allows an unauthenticated attacker to view all stored server files of all users. Rated high severity

CVE-2026-105636 CRITICAL
9.9 Oct 05

Authenticated users who can create a workspace in Plane can force the application's background worker to fetch internal-

CVE-2026-105641 CRITICAL
9.8 Oct 05

Unauthenticated remote attackers can forge Django-signed session cookies, CSRF tokens, and password-reset tokens, and by

CVE-2026-105639 CRITICAL
9.8 Oct 05

Workspace invitation hijacking in Plane prior to 1.4.0 lets an unauthenticated attacker take over a pending workspace in

CVE-2024-47830 MEDIUM POC
5.8 Oct 11

Plane is an open-source project management tool. Rated medium severity (CVSS 5.8), this vulnerability is remotely exploi

CVE-2026-105637 CRITICAL
9.6 Oct 05

Improper authorization in Plane before 1.4.0 lets an authenticated workspace Guest hijack file assets from other project

CVE-2026-105640 CRITICAL
9.1 Oct 05

Account takeover in Plane (makeplane) versions prior to 1.4.0 allows remote unauthenticated attackers to log in as exist

CVE-2026-105638 CRITICAL
9.1 Oct 05

Brute-forceable magic-code email login in Plane versions prior to 1.4.0 allows unauthenticated remote attackers to guess

CVE-2026-104976 HIGH
8.7 Oct 05

Server-side request forgery in Plane, the open-source project management tool, allows a low-privilege user of a connecte

CVE-2026-104966 HIGH
8.7 Oct 05

Authenticated cross-workspace access control bypass in Plane (makeplane/plane) before version 1.4.0 lets any user with a

CVE-2026-105632 HIGH
8.7 Oct 05

Plane prior to 1.4.0 allows an authenticated workspace member to bypass project-level authorization and join any project

CVE-2026-105630 HIGH
8.7 Oct 05

Stored cross-site scripting in Plane prior to 1.4.0 lets an authenticated low-privilege workspace member - including a G

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy