Skip to main content

Plane CVE-2026-104963

| EUVDEUVD-2026-92484 MEDIUM
Information Exposure (CWE-200)
2026-10-05 GitHub_M
4.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as any workspace member (e.g. Guest)
  2. Exploit
    Send GET request to WorkspaceCyclesEndpoint/WorkspaceModulesEndpoint
  3. Execution
    Server omits per-project membership filter
  4. Impact
    Enumerate cycle/module metadata of private projects

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a valid authenticated session as any active member of the target Plane workspace (PR:L) - the attacker needs membership in at least one project but NOT the private projects whose data is leaked; a Guest with single-project access suffices. No user interaction, no special configuration, and no non-default mode are needed: the flaw is in default behavior of the WorkspaceCyclesEndpoint and WorkspaceModulesEndpoint querysets, which filtered only by workspace__slug. Limiting factors: exploitation is confined to workspace-authenticated users (no anonymous/unauthenticated access), only read-only metadata of cycles and modules is exposed (no issue content, write, or account access), and the instance must be running a version prior to 1.4.0.

Impact

This is a moderate-severity broken-access-control/information-disclosure flaw (CWE-200), and the signals are internally consistent rather than conflicting. The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, base 4.3) correctly reflects a network-reachable but authenticated issue: PR:L means any logged-in workspace member - including a low-privilege Guest with access to a single project - can trigger it. There is no integrity or availability impact (C:L only), so this is purely a read-side metadata leak, which caps real-world severity. No EPSS score, no CISA KEV listing, and no public exploit code were supplied, so this is not a confirmed active-exploitation priority. However, the input includes the actual fix PR diff (#9373) showing the exact missing project__project_projectmember__member=request.user filter, so the vulnerability is trivially understood and reproducible by anyone who reads the public advisory - the gap between 'no POC' and 'weaponizable' is very small here. Net assessment: a genuine but not urgent issue - meaningful for multi-tenant/private-project confidentiality in shared Plane workspaces, but low blast radius given it requires valid workspace authentication and leaks only cycle/module metadata, not project content or write access.

Exploit ScenarioDerived

A contractor is invited as a Guest to one project in a shared Plane workspace. Using their valid session, they issue GET /api/workspaces/{slug}/cycles/ and GET /api/workspaces/{slug}/modules/ and receive cycle and module records for every other private project in the workspace - names, descriptions, sprint dates, issue counts, progress snapshots, external integration IDs, linked URLs, and member lists - none of which they should see. No public exploit tool is needed, but the fix PR diff publicly documents the exact flaw.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

Plane prior to 1.4.0 leaks cycle and module metadata from private projects to any authenticated member of the same workspace, because the WorkspaceCyclesEndpoint and WorkspaceModulesEndpoint filter results only by workspace__slug rather than by project membership. A low-privileged user such as a Guest with access to a single project can enumerate cycle and module names, descriptions, sprint dates, issue counts, progress snapshots, external integration IDs, linked URLs, and member lists belonging to projects they were never added to. The issue is fixed in 1.4.0 via upstream commit b3591b9e; there is no public exploit identified at time of analysis, and the assessed CVSS is 4.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N), reflecting an authenticated, read-only confidentiality impact.

RemediationAI

Upgrade to Plane v1.4.0 or later, which is the vendor-released patch for this issue; the fix is tracked under advisory GHSA-wcc5-qgfr-8g9c and released via https://github.com/makeplane/plane/releases/tag/v1.4.0, with the code change in commit b3591b9e6354f39715203787cc21f0cccd2cb3a9 (pull request https://github.com/makeplane/plane/pull/9373). Until the upgrade can be staged, apply the equivalent queryset patch manually by adding project__project_projectmember__member=request.user, project__project_projectmember__is_active=True, and project__archived_at__isnull=True to the Cycle and Module filters in apps/api/plane/app/views/workspace/cycle.py and module.py - note this is a source modification that must be reapplied on each deployment and diverges from the supported release. If code changes are not feasible, compensating controls with trade-offs include: removing Guest and other narrowly scoped accounts from workspaces that contain private projects (this blocks the enumeration path but degrades legitimate cross-team collaboration); minimizing workspace size by splitting multi-project workspaces so that membership boundaries align with project boundaries (operationally disruptive to existing workspaces); and placing the Plane API behind a reverse-proxy/WAF rule that restricts or logs access to the /api/workspaces/{slug}/cycles/ and /api/workspaces/{slug}/modules/ routes (only viable if those views are not needed, since blocking them breaks the cycles and modules UI). Because exploitation is limited to authenticated workspace members and exposes only read-only metadata, no emergency credential rotation is required, but audit workspace membership and Guest role assignments to confirm no unauthorized enumeration has already occurred.

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

Plane is an open-source project management tool with a Django REST Framework backend that exposes workspace-scoped REST endpoints. The WorkspaceCyclesEndpoint (GET /api/workspaces/{slug}/cycles/) and WorkspaceModulesEndpoint (GET /api/workspaces/{slug}/modules/) were guarded only by WorkspaceViewerPermission, which permits any active member of the workspace, and their querysets were built with a single predicate, Cycle.objects.filter(workspace__slug=slug) and Module.objects.filter(workspace__slug=slug). The flaw is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) and, more precisely, a broken object-level access control issue: because no join to the project membership table (project__project_projectmember__member=request.user) was applied, records for every project in the workspace were serialized back to the caller. The root cause is a per-endpoint omission rather than a systemic failure - the sibling WorkspaceLabelsEndpoint and WorkspaceStatesEndpoint already enforced project__project_projectmember__member=request.user, so cycles and modules were inconsistent outliers. The upstream fix adds the membership predicate plus project__project_projectmember__is_active=True and project__archived_at__isnull=True to both querysets and introduces contract tests asserting that a non-project-member receives an empty list while an active project member still sees the records.

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

Network API reachable (AV:N), no special conditions (AC:L), requires an authenticated low-privilege workspace member (PR:L), no UI; leaks only metadata so C:L with no integrity or availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Oct 05, 2026 - 18:02 EUVD

DescriptionCVE.org

Plane is an open-source project management tool. Prior to 1.4.0, GET /api/workspaces/{slug}/cycles/ through WorkspaceCyclesEndpoint and GET /api/workspaces/{slug}/modules/ through WorkspaceModulesEndpoint return records from every project in a workspace without checking whether the requester belongs to each project. Any authenticated workspace member, including a Guest with access to only one project, can enumerate names, descriptions, sprint dates, issue counts, progress snapshots, external integration IDs, linked URLs, and member lists for cycles and modules in private projects. The sibling WorkspaceLabelsEndpoint and WorkspaceStatesEndpoint apply the correct project__project_projectmember__member=request.user filter, making the cycle and module endpoints inconsistent outliers. This issue is fixed in 1.4.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
niche self-hosted open-source project-management tool, modest production footprint
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
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.

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