Skip to content
Heist/ feed
Back to feed
High

Plane: Unauthenticated Project Invitation Email Disclosure Enables Unauthorized Project Join Without Token

Type: advisorySources: OSV

Plane is an open-source project management tool. Prior to 1.4.0, ProjectJoinEndpoint at GET /api/workspaces/{slug}/projects/{project_id}/join/{pk}/ uses permission_classes = [AllowAny] and returns the full ProjectMemberInvite record, including its email, token, and role, to unauthenticated callers. The corresponding POST endpoint checks only whether the submitted email matches project_invite.email and does not validate the invitation token. An attacker who knows the invitation UUID can discover the invited email, register an account with that email, and accept the invitation without receiving the original invite. This issue is fixed in 1.4.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-105635
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 09:45 UTC · Revision 1

Source evidence

Plane: Unauthenticated Project Invitation Email Disclosure Enables Unauthorized Project Join Without Token

core-osv · Original source

Published 5 Oct 2026, 18:01 UTC

Plane is an open-source project management tool. Prior to 1.4.0, ProjectJoinEndpoint at GET /api/workspaces/{slug}/projects/{project_id}/join/{pk}/ uses permission_classes = [AllowAny] and returns the full ProjectMemberInvite record, including its email, token, and role, to unauthenticated callers. The corresponding POST endpoint checks only whether the submitted email matches project_invite.email and does not validate the invitation token. An attacker who knows the invitation UUID can discover the invited email, register an account with that email, and accept the invitation without receiving the original invite. This issue is fixed in 1.4.0.

osv:CVE-2026-105635
Complete source record
{
  "id": "3dfc20ce5b78851eb76bb48fc0203295dbeb597aa9e9cbd746bef7e47dc1196e",
  "url": "https://osv.dev/vulnerability/CVE-2026-105635",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Plane: Unauthenticated Project Invitation Email Disclosure Enables Unauthorized Project Join Without Token",
    "summary": "Plane is an open-source project management tool. Prior to 1.4.0, ProjectJoinEndpoint at GET /api/workspaces/{slug}/projects/{project_id}/join/{pk}/ uses permission_classes = [AllowAny] and returns the full ProjectMemberInvite record, including its email, token, and role, to unauthenticated callers. The corresponding POST endpoint checks only whether the submitted email matches project_invite.email and does not validate the invitation token. An attacker who knows the invitation UUID can discover the invited email, register an account with that email, and accept the invitation without receiving the original invite. This issue is fixed in 1.4.0.",
    "evidence": "osv:CVE-2026-105635",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-105635",
      "aliases": [
        "CVE-2026-105635",
        "GHSA-2r58-hgv7-635q"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/makeplane/plane",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "917b23a6c16d93fc00cef67900eff2755e8b13f7"
                },
                {
                  "fixed": "4b52dce76e8aa97a8d87166fa8f4441c1cf646b1"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.4.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "4b52dce76e8aa97a8d87166fa8f4441c1cf646b1"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "917b23a6c16d93fc00cef67900eff2755e8b13f7"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.4.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.3.1",
            "v1.3.0",
            "v1.2.3",
            "v1.2.2",
            "v1.2.1",
            "v1.2.0",
            "v1.1.0",
            "v1.0.0",
            "v0.28.0",
            "v0.27.1",
            "v0.27.0",
            "v0.26.1",
            "v0.26.0",
            "v0.25.3",
            "v0.25.2",
            "v0.25.1",
            "v0.25.0",
            "v0.24.0",
            "v0.23.1",
            "v0.23.0",
            "v0.22-dev",
            "v0.21-dev",
            "v0.20-dev",
            "v0.19-dev",
            "v0.18-dev",
            "v0.17-dev",
            "v0.16-dev",
            "v0.15.4-dev",
            "v0.15.3-hotfix",
            "v0.15.2-dev",
            "v0.15.1-dev",
            "v0.15-dev",
            "v0.14.2-dev",
            "v0.14.1-dev",
            "v0.14-dev",
            "v0.13.2-dev",
            "v0.13.1-dev",
            "v0.13-dev",
            "v0.12.2-dev",
            "v0.12.1-dev",
            "v0.12-dev",
            "v0.11-dev",
            "v0.10-dev",
            "v0.9-dev",
            "v0.8-dev",
            "v0.7.1-dev",
            "v0.7-dev",
            "v0.6-dev",
            "v0.5-dev",
            "v0.4-dev",
            "v0.3.1-dev",
            "v0.1-dev"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-105635.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.625400226Z",
      "provider": "osv",
      "references": [
        "https://github.com/makeplane/plane/releases/tag/v1.4.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105635.json",
        "https://github.com/makeplane/plane/security/advisories/GHSA-2r58-hgv7-635q",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-105635",
        "https://github.com/makeplane/plane/commit/4b52dce76e8aa97a8d87166fa8f4441c1cf646b1",
        "https://github.com/makeplane/plane/pull/9305"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-200",
          "CWE-284",
          "CWE-862"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105635.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-105635",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 494283,
  "published_at": "2026-10-05T18:01:52.446+00:00"
}