/

CVE-2026-105639

Severity:

CRITICAL RISK

(9.8)

Broken Authentication (CWE-287) in Plane Invitations

CVE-2026-105639

Deferred

Vulnerability type

Category:

Broken Authentication

CWE:

CWE-200, CWE-287, CWE-639

Impact:

Unauthorized workspace access and privilege escalation

Severity:

CRITICAL RISK

(9.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Plane's signup flow can create an authenticated account for an email address without verifying that the registrant controls that address. An attacker who knows a target's email may obtain invitation details and accept a pending workspace invitation as that user, potentially gaining the invited role.

Plane's signup flow can create an authenticated account for an email address without verifying that the registrant controls that address. An attacker who knows a target's email may obtain invitation details and accept a pending workspace invitation as that user, potentially gaining the invited role.

Affected context

The issue occurs in Plane deployments where signup does not include an out-of-band email ownership check, email addresses are unique user identifiers, and authenticated users can retrieve invitations associated with their account email. The risk is greatest when pending workspace invitations contain sensitive joining tokens in API responses.

The issue occurs in Plane deployments where signup does not include an out-of-band email ownership check, email addresses are unique user identifiers, and authenticated users can retrieve invitations associated with their account email. The risk is greatest when pending workspace invitations contain sensitive joining tokens in API responses.

Exploit preconditions

  • Attack surface: Public signup combined with authenticated user and

workspace-invitation API endpoints

  • Required access: Knowledge of the target user's email address; no

credential is required before account creation

  • Trigger point: Account registration followed by invitation enumeration

and invitation acceptance using the resulting session

  • Why exploitation is possible: The application treats an

unverified email as the user's identity and exposes invitation-protection

tokens in a response associated with that email

  • Attack surface: Public signup combined with authenticated user and

workspace-invitation API endpoints

  • Required access: Knowledge of the target user's email address; no

credential is required before account creation

  • Trigger point: Account registration followed by invitation enumeration

and invitation acceptance using the resulting session

  • Why exploitation is possible: The application treats an

unverified email as the user's identity and exposes invitation-protection

tokens in a response associated with that email

Why this happens

The underlying flaw is an insufficient identity-verification boundary in the signup process. Plane creates a logged-in user for a submitted email before confirming ownership, then uses that unverified value to authorize access to matching workspace invitations. Returning all invitation fields, including a security-sensitive token, further enables unauthorized use of the invitation. This primarily maps to CWE-287: Improper Authentication, with related exposure and authorization concerns represented by CWE-200 and CWE-639.

The underlying flaw is an insufficient identity-verification boundary in the signup process. Plane creates a logged-in user for a submitted email before confirming ownership, then uses that unverified value to authorize access to matching workspace invitations. Returning all invitation fields, including a security-sensitive token, further enables unauthorized use of the invitation. This primarily maps to CWE-287: Improper Authentication, with related exposure and authorization concerns represented by CWE-200 and CWE-639.

Potential impact

  • An attacker may join a workspace using another person's pending invitation
  • The attacker could receive the role assigned to the intended invitee
  • Workspace data and project resources may be exposed
  • Unauthorized membership could enable modification of project content
  • Invitation tokens may be disclosed through overly broad API serialization
  • An attacker may join a workspace using another person's pending invitation
  • The attacker could receive the role assigned to the intended invitee
  • Workspace data and project resources may be exposed
  • Unauthorized membership could enable modification of project content
  • Invitation tokens may be disclosed through overly broad API serialization

General mitigation guidance

Mitigation generally focuses on verifying email ownership before granting authenticated identity privileges and separating invitation access from unverified profile attributes. Invitation tokens should be treated as sensitive capabilities, excluded from general-purpose serializers, and usable only through narrowly scoped, server-side authorization checks. Systems should bind invitations to verified identities or require an explicit, secure acceptance flow, minimize returned fields, invalidate tokens after use, and apply least privilege to newly joined members. Rate limiting, audit logging, and controls against account and invitation enumeration can provide additional protection.

Mitigation generally focuses on verifying email ownership before granting authenticated identity privileges and separating invitation access from unverified profile attributes. Invitation tokens should be treated as sensitive capabilities, excluded from general-purpose serializers, and usable only through narrowly scoped, server-side authorization checks. Systems should bind invitations to verified identities or require an explicit, secure acceptance flow, minimize returned fields, invalidate tokens after use, and apply least privilege to newly joined members. Rate limiting, audit logging, and controls against account and invitation enumeration can provide additional protection.

How teams detect issues like this

Detection approaches include static and API review checks for signup flows that authenticate users before email verification, authorization decisions based solely on submitted email values, and serializers that expose complete database models. Code review should inspect invitation lookup, token issuance, acceptance, and invalidation paths for identity binding and privilege checks. Dynamic testing can compare access to invitation data before and after email verification, while policy enforcement can flag sensitive tokens in API responses and require explicit authorization tests for membership endpoints. Automated security review tools may help identify these patterns during development.

Detection approaches include static and API review checks for signup flows that authenticate users before email verification, authorization decisions based solely on submitted email values, and serializers that expose complete database models. Code review should inspect invitation lookup, token issuance, acceptance, and invalidation paths for identity binding and privilege checks. Dynamic testing can compare access to invitation data before and after email verification, while policy enforcement can flag sensitive tokens in API responses and require explicit authorization tests for membership endpoints. Automated security review tools may help identify these patterns during development.

Sources

SourceLink
github.comgithub.com/makeplane/plane/commit/6220ba990b2276a1a1979d1d5df68f650b8b47ad
github.comgithub.com/makeplane/plane/pull/9297
github.comgithub.com/makeplane/plane/releases/tag/v1.4.0
github.comgithub.com/makeplane/plane/security/advisories/GHSA-4vj8-p63v-8p24

Frequently asked

questions

Yes. The initial action can be performed through publicly reachable signup

functionality, although subsequent invitation access and acceptance use the

session created during registration.

The attacker generally needs to know the target invitee's email address. No

pre-existing account credential or verified control of that email is required

under the affected signup behavior.

Require out-of-band email ownership verification before treating an email as

an authenticated identity, and keep invitation tokens out of broad API

responses. Invitation acceptance should use narrowly scoped authorization

and verified identity binding.

Test registration, invitation enumeration, and acceptance as one authorization

workflow; minimize serialized fields; invalidate invitation capabilities after

use; and enforce least privilege and monitoring for workspace membership

changes.

Yes. The initial action can be performed through publicly reachable signup

functionality, although subsequent invitation access and acceptance use the

session created during registration.

The attacker generally needs to know the target invitee's email address. No

pre-existing account credential or verified control of that email is required

under the affected signup behavior.

Require out-of-band email ownership verification before treating an email as

an authenticated identity, and keep invitation tokens out of broad API

responses. Invitation acceptance should use narrowly scoped authorization

and verified identity binding.

Test registration, invitation enumeration, and acceptance as one authorization

workflow; minimize serialized fields; invalidate invitation capabilities after

use; and enforce least privilege and monitoring for workspace membership

changes.

Find out what's already
exploitable in your codebase.