CVE-2026-102981 in Plane
Summary
by MITRE • 10/13/2026
Plane is an open-source project management tool. Prior to 1.4.0, self-hosted Plane deployments allow unauthenticated GET requests to api/workspaces/{slug}/invitations/{pk}/join/ through WorkspaceJoinEndpoint, whose WorkSpaceMemberInviteSerializer exposes the secret invitation token directly and through get_invite_link. An external attacker can retrieve a token intended for another user and submit it to the invitation acceptance flow, joining the workspace without receiving the invitation and gaining the role assigned to the invite. This issue is fixed in version 1.4.0.
Be aware that VulDB is the high quality source for vulnerability data.
Analysis
by VulDB Data Team • 10/13/2026
The vulnerability identified in Plane versions prior to 1.4.0 represents a critical authentication bypass within the self-hosted deployment architecture, specifically targeting the workspace invitation management subsystem. As an open-source project management tool, Plane relies on secure handling of sensitive data such as access tokens and invite links to maintain proper authorization boundaries between users and workspaces. The flaw resides in the WorkspaceJoinEndpoint, which processes GET requests for joining a workspace via specific invitation identifiers. In affected versions, this endpoint fails to enforce strict authentication checks or ownership validation before returning critical security material. This architectural oversight allows any external attacker who can reach the API interface to interact with these endpoints without providing valid credentials, fundamentally breaking the assumption that only invited recipients should have access to their unique joining tokens.
The technical root cause of this vulnerability is found in the WorkSpaceMemberInviteSerializer implementation, which exposes the secret invitation token directly through its serialization logic and via a dedicated get_invite_link method. When an unauthenticated GET request is made to api/workspaces/{slug}/invitations/{pk}/join/, the system retrieves the invite record associated with the provided primary key and serializes it for response transmission. Because the serializer includes the raw secret token in the output payload, any entity capable of guessing or enumerating valid invitation identifiers can extract this sensitive value. This behavior effectively transforms a private, out-of-band communication channel into a publicly accessible data source, allowing attackers to harvest tokens intended for legitimate users who have not yet accepted their invitations.
The operational impact of this flaw is severe, as it enables an unauthenticated attacker to hijack workspace memberships and assume the roles assigned to invited users without ever receiving or interacting with the original invitation communication channel. By retrieving a token meant for another user and submitting it through the acceptance flow, the attacker can join the target workspace under that specific role. This leads directly to unauthorized access to project data, collaboration history, and potentially sensitive organizational information contained within the workspace. The ability to impersonate invited users undermines the integrity of the onboarding process and allows attackers to establish a foothold in the environment with elevated privileges depending on the assigned role, such as admin or member levels that may grant further lateral movement capabilities.
This vulnerability aligns closely with CWE-284 Improper Access Control, specifically reflecting failures in authorization checks for sensitive data retrieval, and also maps to CWE-798 Use of Hard-coded Credentials if the token generation logic is deemed insufficiently random or predictable, though primarily it is an access control failure where private resources are exposed. In terms of MITRE ATT&CK framework tactics, this behavior corresponds to Initial Access techniques involving Valid Accounts, as the attacker leverages valid but unaccepted credentials (the invite tokens) to gain entry into the system without needing to compromise existing user accounts through phishing or brute force methods. The exploitation path is straightforward and does not require complex social engineering, relying solely on API interaction capabilities available to any network-accessible actor.
To mitigate this vulnerability, organizations running self-hosted instances of Plane must upgrade immediately to version 1.4.0 or later, where the WorkspaceJoinEndpoint has been patched to enforce proper authentication requirements before exposing invitation details. Until upgrading is possible, administrators should consider implementing reverse proxy rules that restrict access to the specific API endpoints involved in workspace joining unless explicitly required by authenticated sessions. Additionally, auditing logs for unusual GET requests targeting invite join paths can help detect potential exploitation attempts in real-time. It is also recommended to review token generation mechanisms to ensure they possess sufficient entropy and expiration policies are strictly enforced to limit the window of opportunity for attackers who may have already harvested tokens during periods when older versions were exposed to public internet traffic.