IT SBIT Services
Schneeberger
DEEN
CVE tracker

Plane: Pre-auth workspace invitation hijack via email squatting

CVE-2026-105639Critical 9.8

← All vulnerabilities

Summary

Plane, an open-source project management tool, lets an unauthenticated attacker register an account with the email address of a target who has a pending workspace invitation. Before the fix, the invitation list and the invitation token were exposed to the logged-in account, so the attacker could accept the invitation as the target and join the workspace with the invited role. The attack requires knowledge of the target's email address and a pending invitation for it.

Affected

  • Plane versions before 1.4.0

Fixed in

  • Fixed in Plane 1.4.0
  • Upstream fix: commit 6220ba99 (verify which commit is in the 1.4.0 tag, as OSV lists a different fixed commit)
  • Later 1.4.x releases contain further security fixes

Workaround

Unknown.

Exploitation

  • No evidence of exploitation in the wild found at the time of research.
  • No public proof of concept found; the search was not exhaustive.
  • CISA SSVC: exploitation none, automatable yes, technical impact total.

Our recommendation

  • Update self-hosted Plane to the latest 1.4.x release.
  • Until patched, restrict access to the instance to internal networks or VPN and disable open self-registration if your version allows it.
  • Review pending workspace invitations and workspace memberships for unexpected entries and remove them.
  • Monitor for newly created accounts that match invited email addresses.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 30 Oct 2026, 21:14.

Original description (NVD)

Plane is an open-source project management tool. Prior to 1.4.0, Plane's signup flow creates a logged-in User row for any submitted email without an out-of-band ownership check, while User.email is unique=True. The authenticated user can call GET /api/users/me/workspaces/invitations/, which returns each WorkspaceMemberInvite whose email matches request.user.email. WorkSpaceMemberInviteSerializer uses fields = "all", exposing the token that protects the invitation join endpoint. An unauthenticated attacker who knows a target's email can register an account using that address, enumerate pending invitations, and accept an invitation as the target, joining a workspace at the invited role. The term pre-auth describes the attacker's initial state: the attacker has no credential before signup, while the enumeration and join requests use the session created by that signup. This issue is fixed in 1.4.0.

NVD references (4)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.