Description
Plane is an open-source project management tool. Prior to 1.4.0, Plane's magic-code email login uses a six-digit numeric OTP with approximately 20 bits of entropy. The verifier has no per-code failed-attempt counter, and an incorrect code does not increment a counter, invalidate the Redis entry, or lock the email address. The verifier extends django.views.View rather than DRF's APIView, so the configured AnonRateThrottle limit does not apply. The middleware stack also contains no Django-level rate limiter such as django-ratelimit, django-axes, or an IP-throttling middleware. This vulnerability is fixed in 1.4.0.
Published: 2026-10-05
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Account compromise via OTP brute force
Action: Immediate Patch
AI Analysis

Impact

The Plane project management tool’s magic-code login allows an attacker to submit a six‑digit numeric one‑time password (OTP) without any per‑code or per‑user attempt counter. Each incorrect submission does not trigger a lockout or invalidate the OTP session, and the view handling the verification bypasses the framework’s built‑in rate throttling. Consequently, an attacker can brute‑force the OTP by iterating through the 20‑bit space within a short time, potentially accessing the victim’s account. This weakness aligns with CWE‑307, which describes insufficient verification and controls around authentication.

Affected Systems

The vulnerability applies to all makeplane:plane deployments using versions released prior to 1.4.0. The affected code path lives in the magic-code verifier endpoint, which any user can invoke by submitting an email address and a six‑digit OTP. The advisory specifically mentions the lack of rate limiting and the absence of a per‑code failure counter in these releases.

Risk and Exploitability

A CVSS score of 9.1 indicates a high‑severity vulnerability that can lead to full account compromise. While no EPSS score is published, the known lack of rate limiting makes brute‑force attacks trivially feasible. The vulnerability is not listed in the CISA KEV catalog, but the ease of exploitation and high impact suggest that it should be remediated immediately. Attackers would only need to repeatedly query the verification endpoint with different OTPs, potentially looping through all 1,000,000 possibilities in minutes, to locate a valid code and gain access.

Generated by OpenCVE AI on October 5, 2026 at 20:02 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade makeplane:plane to version 1.4.0 or later, which removes the unthrottled OTP verification logic.
  • Add an IP or user‑based rate limiter to the magic‑code verifier endpoint to prevent rapid repeated attempts.
  • If the magic‑code login is not required, disable the endpoint entirely or implement a per‑code failure counter that locks the OTP after a limited number of attempts.

Generated by OpenCVE AI on October 5, 2026 at 20:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 05 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Makeplane
Makeplane plane
Vendors & Products Makeplane
Makeplane plane

Mon, 05 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 05 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Description Plane is an open-source project management tool. Prior to 1.4.0, Plane's magic-code email login uses a six-digit numeric OTP with approximately 20 bits of entropy. The verifier has no per-code failed-attempt counter, and an incorrect code does not increment a counter, invalidate the Redis entry, or lock the email address. The verifier extends django.views.View rather than DRF's APIView, so the configured AnonRateThrottle limit does not apply. The middleware stack also contains no Django-level rate limiter such as django-ratelimit, django-axes, or an IP-throttling middleware. This vulnerability is fixed in 1.4.0.
Title Plane: Magic-code verifier endpoint has no rate limit, enabling 6-digit OTP brute force
Weaknesses CWE-307
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-05T18:44:08.562Z

Reserved: 2026-10-05T16:40:39.611Z

Link: CVE-2026-105638

cve-icon Vulnrichment

Updated: 2026-10-05T18:44:03.725Z

cve-icon NVD

Status : Deferred

Published: 2026-10-05T19:17:18.030

Modified: 2026-10-05T19:17:18.173

Link: CVE-2026-105638

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-05T20:30:21Z

Weaknesses
  • CWE-307

    Improper Restriction of Excessive Authentication Attempts