Skip to main content

Plane CVE-2026-105630

| EUVDEUVD-2026-92543 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-05 GitHub_M
8.7
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege/Guest workspace account
  2. Delivery
    Upload SVG attachment with attacker Content-Type
  3. Exploit
    Share asset-download link with admin victim
  4. Execution
    Victim opens same-origin inline SVG
  5. Persist
    Embedded JavaScript executes in app context
  6. Impact
    Steal session and take over account

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires (1) the default self-hosted deployment where Plane assets are served by MinIO from the same origin as the application - a configuration that segregates assets onto a separate origin or CDN neutralizes the same-origin script execution; (2) a valid authenticated account with at least low-privilege/Guest workspace membership able to create issue or generic attachments; and (3) user interaction - a victim (e.g., a workspace administrator) must open the attacker-supplied asset-download link, which serves the SVG with Content-Disposition: inline. The attack hinges on the server retaining the attacker-controlled image/svg+xml Content-Type on upload. These factors - authenticated upload access, dependence on the default MinIO same-origin setup, and required victim interaction - meaningfully limit exploitation below a fully unauthenticated drive-by, though SVGs with onload handlers or embedded <script> make the payload trivial once conditions are met.

Impact

This is a genuine, well-corroborated medium-to-high priority for anyone running self-hosted Plane, though not a drop-everything emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C) describes a network-reachable, low-complexity stored XSS that requires only low-privilege authentication (a Guest workspace member suffices) but does require a victim to open the malicious link, and the scope change (S:C) plus C:H/I:H reflects that code executing in the app origin can hijack a session up to and including an administrator - yielding the 8.7 base score. Exploitation status is 'no public exploit identified at time of analysis': the input provides no EPSS score, no CISA KEV listing, and no POC flag, so there is no evidence of active or widespread exploitation despite the high CVSS. The signals are internally consistent (no conflict between the network vector and the description), and the fix is confirmed by a vendor GHSA advisory, a merged PR with a code diff, a commit, and the v1.4.0 release. The main caveats that lower real-world urgency: exploitation depends on the default self-hosted MinIO deployment where assets share the app origin (a hardened/separate-origin or CDN asset setup breaks the same-origin execution), and it requires both a valid low-privilege account and successful social engineering of a victim to open the attachment. Net: treat as a real priority for default MinIO self-hosted installs, lower for installs that already segregate the asset origin.

Exploit ScenarioDerived

An attacker who holds any low-privilege account - even a Guest - on a self-hosted Plane workspace uploads a crafted image/svg+xml file containing embedded JavaScript as an issue or generic attachment, which preserves the attacker's Content-Type. They share the asset-download link with a workspace administrator; when the admin opens it, the presigned URL serves the SVG inline from the app's own origin, executing the script in the Plane security context and allowing session theft and account takeover. No public exploit code is identified at time of analysis, but the mechanism is straightforward and the fixing diff publicly documents the exact vector.

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

Stored cross-site scripting in Plane prior to 1.4.0 lets an authenticated low-privilege workspace member - including a Guest - upload an image/svg+xml file as a generic or issue attachment that is later served with Content-Disposition: inline, so the embedded SVG JavaScript runs in the Plane application's origin under the default self-hosted MinIO deployment. The assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N, 8.7) shows the attacker must be authenticated (PR:L) and a victim, such as a workspace administrator, must open the asset-download link (UI:R), after which session compromise can lead to full account takeover. No public exploit identified at time of analysis, and no confirmed active exploitation (CISA KEV); vendor-released patch: 1.4.0.

RemediationAI

Upgrade to Plane 1.4.0 or later (vendor-released patch: 1.4.0), which forces Content-Disposition: attachment for script-capable MIME types (image/svg+xml, text/javascript, application/javascript, text/html, application/xhtml+xml, text/xml, application/xml) across all asset-download views; the fix is available via PR https://github.com/makeplane/plane/pull/9312, commit https://github.com/makeplane/plane/commit/9dff20e04808286acb372119d88c666b802b1d50, and the 1.4.0 release, with full details in advisory https://github.com/makeplane/plane/security/advisories/GHSA-ch8j-vr4r-qf6h. Because the patch also neutralizes assets uploaded before it was applied, there is no need to purge existing attachments, though administrators may optionally audit or delete stored image/svg+xml assets. If immediate upgrading is not possible, deploy the strongest compensating control: migrate MinIO asset serving to a separate origin or CDN hostname so attacker-supplied SVG cannot execute in the application's origin - this neutralizes the same-origin requirement but requires DNS/proxy and storage configuration changes and may break inline asset rendering. Alternatively, block or strip image/svg+xml (and other script-capable types) on upload at the reverse proxy or application layer, or rewrite their responses to Content-Disposition: attachment; both approaches may degrade legitimate SVG icon/image rendering and do not fix assets already stored. Restricting attachment creation to trusted workspace members reduces exposure but does not eliminate the flaw, since the assessed vector requires only low-privilege/Guest upload access and victim interaction.

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 is CWE-79 (Improper Neutralization of Input During Web Page Generation), expressed here as stored XSS. Plane stores attachment metadata in asset.attributes, including the client-supplied MIME type, and its asset-download endpoints (apps/api/plane/api/views/asset.py, apps/api/plane/app/views/asset/v2.py, and apps/api/plane/space/views/asset.py) mint S3/MinIO presigned URLs by calling storage.generate_presigned_url(object_name=asset.asset.name, filename=asset.attributes.get("name")) without constraining disposition. Because the attacker-controlled "image/svg+xml" Content-Type is preserved on upload, the object is served as active content; combined with the default self-hosted MinIO configuration that serves asset URLs from the same origin as the Plane application, an SVG containing onload handlers or an embedded <script> executes JavaScript in the application's origin and can read the victim's session. The upstream fix (PR #9312, commit 9dff20e04808286acb372119d88c666b802b1d50) introduces a SCRIPT_CAPABLE_MIME_TYPES frozenset in plane/settings/common.py covering image/svg+xml, text/javascript, application/javascript, text/html, application/xhtml+xml, text/xml, and application/xml, and forces disposition="attachment" for those MIME types in every asset-download view while leaving inline disposition for benign types. This mitigates both new uploads and assets stored before the restriction was added.

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
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
vuln.today AI 8.7 HIGH

Low-privilege Guest can upload (PR:L), victim must open the link (UI:R), payload executes in the app origin crossing the asset/app boundary (S:C) enabling session takeover (C:H/I:H), no availability impact (A:N).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Oct 05, 2026 - 19:02 EUVD
CVE Published
Oct 05, 2026 - 17:54 cve.org
HIGH 8.7

DescriptionCVE.org

Plane is an open-source project management tool. Prior to 1.4.0, an authenticated low-privilege workspace member, including a Guest, can upload an image/svg+xml file as a generic or issue attachment. The file retains the attacker-controlled Content-Type, and the asset-download endpoint creates a presigned URL with Content-Disposition: inline. In the default self-hosted MinIO deployment, the asset URL is served from the same origin as the Plane application, allowing embedded SVG JavaScript to execute in the application's security context. A victim, including a workspace administrator, who opens the link can have the session compromised through stored XSS, leading to account takeover. This issue is fixed in 1.4.0.

Technical POC Analysis

CWE-79 (stored XSS); the advisory also tags CWE-434.

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

A stored cross-site scripting flaw in the self-hosted Plane project management platform (versions prior to 1.4.0) allows any authenticated workspace member - including low-privilege Guests - to upload a malicious SVG attachment that executes in the Plane application origin when a colleague, such as a workspace administrator, opens the download link. Because the injected code runs with the platform's own session context, a successful attack can result in full account takeover of privileged users and exposure of the workspace data those accounts can reach. Organizations running self-hosted Plane with the default MinIO storage configuration should treat this as a high-priority remediation item, since the only prerequisites are a legitimate low-privilege account and a single user click.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche self-hosted open-source project management tool, limited enterprise footprint
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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
Poc
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

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Plane

View all
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-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

CVE-2026-105632 HIGH
8.7 Oct 05

Plane prior to 1.4.0 allows an authenticated workspace member to bypass project-level authorization and join any project

CVE-2026-104979 HIGH
8.7 Oct 05

Stored cross-site scripting in Plane (versions up to and including 1.3.1) allows any authenticated user - including a br

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