Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as any Plane user
-
DeliveryEnumerate or guess workspace slug
-
ExploitSend entity-search GET request
-
ExecutionReceive member names, UUIDs, avatars
-
ImpactHarvest roster for recon/phishing
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
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 | Exploitation requires only a valid authenticated account on the target Plane instance (PR:L) plus knowledge of a victim workspace's slug; the caller does NOT need to be a member of that workspace, because SearchEndpoint inherited BaseAPIView with permission_classes = [IsAuthenticated] and performed no workspace-membership check prior to 1.4.0. It specifically affects the GET /api/workspaces/{slug}/entity-search/ endpoint with query_type=user_mention. Limiting factors: the attacker must first obtain any authenticated session and must know or enumerate the workspace slug; impact is confined to disclosure of member display names, UUIDs, avatar URLs, and ProjectMember rows, with no write or availability impact. Upgrading to 1.4.0 (which adds WorkspaceUserPermission) fully remediates. |
| Impact | This is a missing-authorization / broken object-level access control flaw (CWE-862) in Plane's SearchEndpoint, confirmed by the vendor advisory GHSA-32q3-mqpc-3mhv and the fixing commit (28ae25b) in PR #9296, which adds WorkspaceUserPermission to an endpoint that previously enforced only IsAuthenticated. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) correctly captures that any authenticated user can reach the endpoint over the network with low complexity and no user interaction - the only barrier is knowing the workspace slug, which is low-entropy and often guessable or enumerable. However, the input vector's VC:H/VI:H/VA:L impact rating appears inflated: the described behavior is a read-only GET that discloses workspace-member and ProjectMember data (display names, UUIDs, avatar URLs), which is an integrity-neutral, availability-neutral confidentiality leak of limited-sensitivity PII, not high-impact integrity/availability compromise - hence my independent assessment lowers I and A to None. No EPSS score, CISA KEV entry, POC, or SSVC decision data was provided, so exploitation-likelihood signals are absent; this should be triaged as a genuine but moderate-severity access-control bug (reconnaissance/PII exposure) rather than a critical RCE-class priority despite the 8.7 headline score. no public exploit identified at time of analysis, though the public patch, PR diff, and commit make the trigger trivially understood. |
| Exploit ScenarioDerived | An attacker registers or already holds any authenticated account on a Plane instance, then calls GET /api/workspaces/{slug}/entity-search/?query_type=user_mention against a workspace slug they are not a member of. The server returns that workspace's member display names, UUIDs, avatar URLs, and ProjectMember rows, letting the attacker enumerate staff and build a target list for phishing or further attacks. no public exploit identified at time of analysis, but the single-request GET requires no special tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Missing workspace authorization in Plane's entity-search API before version 1.4.0 allows any authenticated user who knows a workspace slug to retrieve member display names, UUIDs, avatar URLs, and ProjectMember rows from workspaces they do not belong to. The flaw is a CWE-862 missing authorization issue in SearchEndpoint, which enforced only IsAuthenticated; upgrading to 1.4.0, which adds WorkspaceUserPermission, fully remediates. No public exploit code was identified at time of analysis.
RemediationAI
Upgrade to Plane 1.4.0, which adds WorkspaceUserPermission to SearchEndpoint and fully remediates the missing authorization check (vendor advisory: https://github.com/makeplane/plane/security/advisories/GHSA-32q3-mqpc-3mhv; release: https://github.com/makeplane/plane/releases/tag/v1.4.0). If immediate upgrade is not possible, apply the upstream patch commit 28ae25b (https://github.com/makeplane/plane/commit/28ae25b564351abaf8b36d4a3ba6d32f80fbf075) or restrict access to the /api/workspaces/*/entity-search/ endpoint at a reverse proxy to block query_type=user_mention requests; this workaround will disable user-mention autocomplete functionality for legitimate users. Also consider reducing workspace-slug guessability, though slugs are often shared, and monitor for enumeration attempts.
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 is an open-source project management tool implemented as a Django application, with the vulnerable endpoint defined in apps/api/plane/app/views/search/base.py. SearchEndpoint inherits BaseAPIView and, prior to 1.4.0, set only permission_classes = [IsAuthenticated], meaning any authenticated request to GET /api/workspaces/{slug}/entity-search/?query_type=user_mention was served without verifying that the caller was a member of the workspace identified by the slug. This is a classic missing authorization flaw (CWE-862), specifically broken object-level access control, allowing disclosure of workspace-member display names, UUIDs, avatar URLs, and ProjectMember rows. The fix in PR #9296 (commit 28ae25b) adds WorkspaceUserPermission to the endpoint, enforcing workspace membership.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
Authenticated network request with no UI (PR:L), reading data from workspaces outside the caller's authorization scope (S:C); limited PII disclosure gives C:L with no integrity or availability impact.
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, GET /api/workspaces/{slug}/entity-search/?query_type=user_mention returns workspace-member display names, UUIDs, and avatar URLs to any authenticated user who knows the workspace slug, even when the caller is not a workspace member. The endpoint also exposes ProjectMember rows under the same condition. SearchEndpoint in apps/api/plane/app/views/search/base.py inherits BaseAPIView with only permission_classes = [IsAuthenticated] and performs no workspace-membership check. This issue is fixed in 1.4.0.
Technical POC Analysis
CWE-862 (Missing Authorization).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Plane's entity-search API fails to enforce workspace boundaries, so any user holding a valid account on one workspace can pull member names, UUIDs, avatar images, and membership records belonging to organizations they have no relationship with. Because the flaw sits in a shared search endpoint rather than a single tenant, every workspace on an affected deployment - whether self-hosted or vendor-managed - is exposed to directory enumeration by anyone with a basic account. Leadership should treat this as a tenant-isolation and privacy-commitment issue: the data itself is directory metadata rather than customer content, but the cross-tenant access pattern directly undermines the segregation guarantees Plane customers rely on and may carry notification obligations under privacy agreements.
Apply vendor patch.
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.
Cross-workspace authorization bypass in Plane (makeplane) prior to version 1.3.1 allows any authenticated user of one wo
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
Plane (makeplane/plane) through version 1.4.2 makes security decisions based on the client-supplied X-Forwarded-For head
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
EUVD-2026-92490
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB