Skip to main content

Plane EUVDEUVD-2026-92448

| CVE-2026-104892 HIGH
Plaintext Storage of a Password (CWE-256)
2026-10-05 GitHub_M
8.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege user
  2. Delivery
    Access logs written by APITokenLogMiddleware
  3. Exploit
    Harvest plaintext API keys
  4. Execution
    Reuse stolen higher-privileged key
  5. Impact
    Escalate privileges and act as victim

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential storage protection
Exploitation Conditions

Requires an authenticated low-privilege account on the Plane instance (PR:L) plus the ability to read the log output produced by APITokenLogMiddleware, where API keys are recorded in plaintext in versions prior to 1.4.0. Exploitation is limited by that authentication requirement and by the log-access model: if request/application logs are not readable by low-privilege users (e.g., restricted to admins or external log sinks), the realistic attack surface narrows to insiders or anyone who can reach those logs. No special non-default feature toggle is indicated - the vulnerable logging behavior is inherent to affected versions. Impact is a leaked, long-lived API credential usable for privilege escalation.

Impact

This is a credible, moderately-high-priority issue but not a drop-everything emergency. The CVSS 4.0 base score of 8.7 is driven by AV:N/AC:L/PR:L/UI:N with VC:H and VI:H - a network-reachable, low-complexity flaw requiring only low privileges and no user interaction. The core weakness (CWE-256) is that APITokenLogMiddleware writes API keys to logs in plaintext, so the real severity hinges on who can read those logs: the advisory frames it as a privilege-escalation path for an already-authenticated low-privilege user, meaning this is a post-authentication/insider-leaning threat rather than a pre-auth internet worm. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the 'network' attack vector reflects the authenticated web/API surface, not anonymous internet exploitation. Net: treat as a prompt-patch credential-exposure bug (secrets in logs enabling lateral/vertical escalation) rather than a widely-exploited critical. One signal to verify: AV:N with PR:L is reasonable for a multi-tenant SaaS/self-hosted app, but actual exploitability depends on whether low-privilege users can reach the logged output - confirm log access model with the vendor advisory GHSA-r5p8-cj3q-38cc.

Exploit ScenarioDerived

An attacker holding a low-privilege account on a Plane instance (or an insider) reads application logs populated by APITokenLogMiddleware and recovers other users' API keys stored there in plaintext. Using a stolen higher-privileged key, the attacker authenticates to the API and performs actions beyond their own permission level, escalating privileges. No public exploit code is required or identified; the attack is low-complexity and needs only authenticated access to the logged data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 05, 2026

Plaintext logging of API keys in Plane (makeplane/plane) prior to 1.4.0 lets an authenticated low-privilege user who can read application logs harvest other users' long-lived API tokens and use them to escalate privileges, potentially including to administrative accounts. The vulnerable behavior is inherent to affected versions - the APITokenLogMiddleware component writes API keys into request/application logs in cleartext - and exploitation requires both a valid low-privilege account (CVSS PR:L) and visibility into the resulting log output; if logs are restricted to admins or shipped to a protected external sink, the realistic exposure narrows to insiders or anyone who can reach the log store. No public exploit code or confirmed active exploitation has been identified at time of analysis and no EPSS signal was supplied; overall this is a credible, moderately-high-priority issue rather than a drop-everything emergency, and it is fixed in Plane 1.4.0.

RemediationAI

The primary fix is to upgrade Plane to 1.4.0 or later, which is the vendor-released patched version (release tag v1.4.0; advisory GHSA-r5p8-cj3q-38cc; associated code changes in PR 9148 and commit edf247541301e482f2688c63481464b671ec579d). Because the flaw is credential disclosure rather than a transient exploit, upgrading alone is not sufficient: every API token that existed or was used while a pre-1.4.0 instance was logging requests should be treated as compromised and rotated or revoked, and existing application logs, container stdout captures, and log-aggregation indices should be purged or scrubbed of the plaintext keys, since the leaked material may already sit in backups or third-party log platforms. Until an upgrade can be performed, compensating controls include restricting read access to Plane logs and any log shipper or aggregation UI to a minimal set of administrators (recognizing that this leaves insiders and anyone with log-store access still able to harvest tokens), routing logs to an access-controlled external sink rather than local files readable by application users, and temporarily removing or disabling the API key logging behavior in APITokenLogMiddleware - with the trade-off that doing so eliminates the request audit trail that the logging provides. Additional hardening that reduces blast radius regardless of patch status includes monitoring API-key usage for tokens appearing from unexpected source IPs or user agents, applying short rotation cycles to Plane API tokens, and minimizing the number of high-privilege tokens in circulation.

Affected VersionsENISA

plane < 1.4.0

Affected Packages

euvd plane fix: 1.4.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause class is CWE-256 (Plaintext Storage of a Password/credential): Plane's API layer uses a Django middleware, APITokenLogMiddleware, that records incoming API requests - including the API key value - into plaintext logs rather than redacting or hashing the credential. Plane API keys are long-lived bearer credentials presented in the request header and are not scoped down by the log entry, so any party who can read the log stream (application log files, container stdout, or a log aggregation platform) effectively obtains the credentials of every user whose authenticated requests were logged, including higher-privileged accounts. Because the leak is a stored-credential disclosure rather than an authentication bypass, the attacker does not need to defeat authentication at the point of use - they replay a stolen token. The supplied CPE cpe:2.3:a:makeplane:plane:*:*:*:*:*:*:*:* indicates the affected product is the makeplane Plane distribution with a wildcard version, consistent with the advisory's statement that all releases before 1.4.0 are affected; the vulnerability is in server-side Python/Django API code and applies to self-hosted Plane instances where those logs are generated and retained. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the independently assessed CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L) agree that the attack is network-reachable, requires a low-privileged authenticated position, needs no user interaction, and yields high confidentiality and integrity impact with only limited availability impact - consistent with credential theft enabling privilege escalation rather than denial of service.

Know when Plane gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
vuln.today AI 8.3 HIGH

Authenticated low-privilege access over the network (AV:N/PR:L), low complexity; stolen API keys yield high confidentiality and integrity impact via privilege escalation, limited availability impact, no scope change.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 05, 2026 - 17:17 EUVD
CVE Published
Oct 05, 2026 - 16:00 cve.org
HIGH 8.7

DescriptionCVE.org

Plane is an open-source project management tool. Prior to 1.4.0, aPITokenLogMiddleware logs API keys in plaintext. This allows someone with low privileges to steal user API keys and further escalate their privileges. This issue is fixed in 1.4.0.

Technical POC Analysis

Evidence note: no runnable PoC and no patch diff were supplied.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Plane (makeplane/plane), the project-management platform, writes user API keys into its application logs in cleartext in every version before 1.4.0, so a basic low-privilege account combined with any visibility into those logs is enough to harvest colleagues' long-lived API tokens and pivot into higher-privileged or administrative accounts. Leadership should care because the exposure is quiet and durable: the stolen tokens stay valid after the fact, and the platform typically holds project plans, roadmaps, customer details, and integrations that a compromised admin account could read, alter, or exfiltrate. The practical blast radius depends on who can see logs - restricted admin-only logging limits this to insiders, while shared log storage, aggregation platforms, or support exports widen it considerably.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
self-hosted open-source project-management tool, limited production deployment footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

More in Plane

View all
CVE-2026-46558 HIGH POC
8.3 Jun 10

Cross-workspace authorization bypass in Plane (makeplane) prior to version 1.3.1 allows any authenticated user of one wo

CVE-2023-2268 HIGH POC
7.5 Jul 15

Plane version 0.7.1 allows an unauthenticated attacker to view all stored server files of all users. Rated high severity

CVE-2026-105636 CRITICAL
9.9 Oct 05

Authenticated users who can create a workspace in Plane can force the application's background worker to fetch internal-

CVE-2026-105641 CRITICAL
9.8 Oct 05

Unauthenticated remote attackers can forge Django-signed session cookies, CSRF tokens, and password-reset tokens, and by

CVE-2026-105639 CRITICAL
9.8 Oct 05

Workspace invitation hijacking in Plane prior to 1.4.0 lets an unauthenticated attacker take over a pending workspace in

CVE-2024-47830 MEDIUM POC
5.8 Oct 11

Plane is an open-source project management tool. Rated medium severity (CVSS 5.8), this vulnerability is remotely exploi

CVE-2026-111869 MEDIUM POC
5.5 Oct 18

Plane (makeplane/plane) through version 1.4.2 makes security decisions based on the client-supplied X-Forwarded-For head

CVE-2026-105637 CRITICAL
9.6 Oct 05

Improper authorization in Plane before 1.4.0 lets an authenticated workspace Guest hijack file assets from other project

CVE-2026-105640 CRITICAL
9.1 Oct 05

Account takeover in Plane (makeplane) versions prior to 1.4.0 allows remote unauthenticated attackers to log in as exist

CVE-2026-105638 CRITICAL
9.1 Oct 05

Brute-forceable magic-code email login in Plane versions prior to 1.4.0 allows unauthenticated remote attackers to guess

CVE-2026-104976 HIGH
8.7 Oct 05

Server-side request forgery in Plane, the open-source project management tool, allows a low-privilege user of a connecte

CVE-2026-104966 HIGH
8.7 Oct 05

Authenticated cross-workspace access control bypass in Plane (makeplane/plane) before version 1.4.0 lets any user with a

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy