Skip to main content

Plane CVE-2026-105631

| EUVDEUVD-2026-92544 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-05 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Discover valid workspace deploy-board anchor
  2. Delivery
    Obtain or leak target asset UUID
  3. Exploit
    Call AllowAny EntityAssetEndpoint with anchor + UUID
  4. Execution
    Workspace-only lookup skips project/membership check
  5. Impact
    Exfiltrate private project issue or comment asset

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

For the unauthenticated path (EntityAssetEndpoint): the attacker must know (1) a valid published deploy-board anchor belonging to the target workspace and (2) a valid UUID of an issue-description or comment-description FileAsset in an unpublished or private project within that same workspace. For the authenticated paths (WorkspaceFileAssetEndpoint/WorkspaceAssetDownloadEndpoint): the attacker must be an active member of the workspace and know the asset's UUID, but need NOT be a member of the asset's project. Key limiting factors: FileAsset UUIDs are random and non-enumerable (the reason for AC:H), so an attacker must leak or otherwise obtain them; the unauthenticated path is further limited to issue/comment-description entity assets exposed through a valid anchor. Affects all versions prior to 1.4.0.

Impact

This is a genuine access-control flaw (CWE-639, IDOR) rather than an inflated high-CVSS issue, but its real-world priority is moderate rather than urgent. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N = 7.5) is internally consistent with the description: the EntityAssetEndpoint path is genuinely unauthenticated (AllowAny, justifying PR:N), network-reachable (AV:N), and crosses from a public-anchor security context into private-project data (S:C). The AC:H rating is the key tempering signal - exploitation requires the attacker to already know BOTH a valid deploy-board anchor AND a valid random FileAsset UUID, neither of which is enumerable, so this is not a spray-and-pray mass-exploitation bug. No EPSS score, KEV listing, or public exploit was provided in the input, so there is no evidence of active exploitation; the only public artifacts are the vendor advisory and patch commits/PRs, which disclose the mechanism but are not weaponized exploit code. Note one nuance the single CVSS vector obscures: the vulnerability actually spans two different privilege contexts - the WorkspaceFileAssetEndpoint/WorkspaceAssetDownloadEndpoint paths require authenticated workspace membership (effectively PR:L), while only the EntityAssetEndpoint path is truly unauthenticated (PR:N); the published 7.5 reflects the worst-case unauthenticated path. Overall: a legitimate confidentiality issue worth patching promptly, but the UUID/anchor knowledge requirement makes opportunistic exploitation unlikely absent an information leak.

Exploit ScenarioDerived

An unauthenticated attacker who has discovered a valid public deploy-board (published page) anchor for a Plane workspace, and who has obtained a valid issue-description or comment-description FileAsset UUID (e.g. leaked in logs, referrers, or prior access), calls the AllowAny EntityAssetEndpoint.get with that anchor and UUID and receives the asset even though it belongs to an unpublished or private project in the workspace. Alternatively, an authenticated low-privilege workspace member who is not a member of a private project downloads that project's assets via WorkspaceFileAssetEndpoint by supplying a known asset UUID. No public exploit code was identified; however, the fixing PRs (#9288) publicly document the vulnerable code paths, lowering the research barrier.

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

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

Alert me

AnalysisAIv1 – Oct 05, 2026

Authorization bypass in the Plane project-management platform (Makeplane) prior to 1.4.0 lets callers retrieve FileAsset records - issue-description and comment-description attachments - from private or unpublished projects without being a member of the project those assets belong to. Two authenticated workspace-scoped endpoints (WorkspaceFileAssetEndpoint and WorkspaceAssetDownloadEndpoint) resolve assets by workspace only, so any active workspace member who knows an asset UUID can pull files from any project in that workspace, while the public-anchor EntityAssetEndpoint grants AllowAny access and scopes lookups to the anchor's workspace rather than its published entity or project, so an unauthenticated remote caller with a valid published anchor and a valid asset UUID can read assets from unpublished or private projects in that workspace; the CVSS vector (PR:N, no user interaction) reflects that unauthenticated path. Exploitation is constrained by CWE-639-style IDOR prerequisites: asset UUIDs are random and non-enumerable, so the attacker must first leak or otherwise obtain them, and no public exploit code and no confirmed active exploitation were identified at time of analysis. The issue is fixed in 1.4.0, and the practical priority is moderate rather than urgent given the UUID-guessing barrier.

RemediationAI

Vendor-released patch: upgrade Plane to 1.4.0 (release tag: https://github.com/makeplane/plane/releases/tag/v1.4.0), which fixes the advisory GHSA-85h2-mhcc-xfmw via PRs https://github.com/makeplane/plane/pull/9288 and https://github.com/makeplane/plane/pull/9372 (commits 4577dc3f7a6b5a198602b602a45c6b0abdc7204b and e63f0c3b3404d669ae05dd9050aab72292f87e5c); self-hosted operators should pull the 1.4.0 container images or cherry-pick these commits, and hosted users should confirm the instance has been upgraded. If an immediate upgrade is not possible, the highest-value compensating control is to eliminate the unauthenticated path by disabling or un-publishing public deploy-board anchors (the 'space' feature) so EntityAssetEndpoint.get cannot be reached anonymously; the trade-off is that any publicly shared boards or customer-facing roadmaps built on anchors stop working. Additionally, treat FileAsset UUIDs as sensitive: audit logs, exported reports, screenshots, third-party integrations and support tickets for exposed asset identifiers, since obtaining a valid UUID is the main prerequisite for exploitation, and rotate or re-upload any asset whose UUID may have leaked. A reverse-proxy rule that blocks unauthenticated access to the public asset endpoint paths under the space API would help, at the cost of breaking legitimate public asset rendering for anonymous viewers, and restricting access to the Plane API to trusted networks or a VPN is a further trade-off that shrinks the exposure surface but reduces usability for distributed teams. Because exploitation only yields read access to description-type assets (C:H/I:L per the assessed vector, with S:C), no data-destruction mitigation is required, but affected organisations should review whether any previously private project descriptions have been exposed.

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

This is an authorization/IDOR flaw (CWE-639, Authorization Bypass Through User-Controlled Key) in Plane's Django REST Framework asset API. The affected code lives in apps/api/plane/app/views/asset/base.py, apps/api/plane/app/views/asset/v2.py and apps/api/plane/space/views/asset.py. The core problem is that FileAsset lookups were filtered by workspace (workspace__slug=slug or workspace=deploy_board.workspace) but not by project_id, so the workspace - not the project or the published entity - became the effective authorization boundary. In the public 'space' (deploy board / anchor) API, EntityAssetEndpoint.get was reachable with AllowAny and resolved the anchor's workspace without tying the request to the anchor's published entity or project, making the endpoint an unauthenticated cross-project read primitive. The upstream fix (PR #9288 and PR #9372, commits 4577dc3f7a6b5a198602b602a45c6b0abdc7204b and e63f0c3b3404d669ae05dd9050aab72292f87e5c) introduces a WorkspaceMemberPermission class that resolves the workspace via the 'slug' or 'workspace_id' URL kwargs and rejects anonymous users or non-members, applies it to the workspace asset endpoints, restricts copy/download operations to the destination workspace, adds project_id scoping to the affected querysets, and additionally gates WORKSPACE_LOGO uploads to workspace admins. The CPE cpe:2.3:a:makeplane:plane:* confirms all releases before the fixed tag are in scope.

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 7.5 HIGH
AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N
vuln.today AI 7.5 HIGH

AV:N and PR:N because the EntityAssetEndpoint is network-reachable and AllowAny; AC:H because a valid non-enumerable asset UUID and anchor must be known; S:C as access crosses into a private project's scope; C:H with I:L from read plus limited cross-project modification paths.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/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
Changed
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Oct 05, 2026 - 19:02 EUVD
CVE Published
Oct 05, 2026 - 17:55 cve.org
HIGH 7.5

DescriptionCVE.org

Plane is an open-source project management tool. Prior to 1.4.0, WorkspaceFileAssetEndpoint.get and WorkspaceAssetDownloadEndpoint.get resolve FileAsset records within a workspace without checking membership in the asset's project, allowing a workspace member to download assets from private projects when the asset UUID is known. EntityAssetEndpoint.get is a separate public-anchor endpoint that grants AllowAny access and scopes the lookup only to the anchor's workspace rather than its published entity or project. An unauthenticated caller who knows a valid anchor and an asset UUID can therefore retrieve issue-description or comment-description assets belonging to unpublished or private projects in that workspace. This issue is fixed in 1.4.0.

Technical POC Analysis

CWE-639 (Authorization Bypass Through User-Controlled Key), an IDOR on the asset identifier.

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

Plane (Makeplane) project-management platform, in versions prior to 1.4.0, contains a high-severity authorization bypass (CVE-2026-105631) that can expose file attachments from private or unpublished projects to unauthorized users. The CVSS vector indicates an unauthenticated exploitation path (PR:N), and a workspace member or external caller with a valid published anchor and asset UUID can retrieve issue-description and comment-description attachments outside their authorized projects. This creates confidentiality, intellectual-property, and compliance risk for organizations using affected Plane instances, though no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include removing or restricting public anchors, disabling unauthenticated access to EntityAssetEndpoint, restricting WorkspaceFileAssetEndpoint and WorkspaceAssetDownloadEndpoint through network or API gateway controls, enforcing least-privilege workspace membership, monitoring and auditing asset-access logs for cross-project UUID access, and rotating asset UUIDs if unauthorized access is suspected.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
popular self-hosted open-source project-management tool, moderate real-world adoption
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.2%
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Plane

View all
CVE-2026-46558 HIGH POC
8.3 Jun 10

Cross-workspace authorization bypass in Plane (makeplane) prior to version 1.3.1 allows any authenticated user of one wo

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-111869 MEDIUM POC
5.5 Oct 18

Plane (makeplane/plane) through version 1.4.2 makes security decisions based on the client-supplied X-Forwarded-For head

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

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