Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-105631— Plane: asset download endpoints scope file lookups to the workspace (not the project / published entity) → cross-project & unauthenticated private-file disclosure

Quick assessment

Affected
makeplane plane
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Plane 是一款开源的项目管理工具。在 1.4.0 版本之前, 和 接口在获取工作区内的 记录时,未校验用户是否属于该资产所在项目的成员,导致只要知道资产的 UUID,工作区成员即可下载私有项目中的资产。此外, 是一个独立的公开锚点(public-anchor)端点,其对所有用户开放(AllowAny),且查询范围仅限于锚点所属的工作区,而非其发布的实体或项目。因此,未经认证的攻击者只要知晓有效的锚点和资产 UUID,便可检索该工作区中未发布或私有项目的问题描述或评论描述资产。该问题已在 1.4.0 版本中得到修

CVSS 7.5 · High

Possible ATT&CK Techniques 2 AI

T1530 · Data from Cloud Storage T1530.001

Affected Version Matrix 1

VendorProduct Version RangeStatus
makeplane plane < 1.4.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-105631

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Plane: asset download endpoints scope file lookups to the workspace (not the project / published entity) → cross-project & unauthenticated private-file disclosure
Source: CVE Program / CVE List V5
Vulnerability Description
Plane is an open-source project management tool. Prior to 1.4.0, WorkspaceFileAssetEndpoint.get and WorkspaceAssetDownloadEndpoint.get resolve FileAsset records within a workspace without checking membership in the asset's project, allowing a workspace member to download assets from private projects when the asset UUID is known. EntityAssetEndpoint.get is a separate public-anchor endpoint that grants AllowAny access and scopes the lookup only to the anchor's workspace rather than its published entity or project. An unauthenticated caller who knows a valid anchor and an asset UUID can therefore retrieve issue-description or comment-description assets belonging to unpublished or private projects in that workspace. This issue is fixed in 1.4.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
通过用户控制密钥绕过授权机制
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
makeplane plane < 1.4.0 -

II. Public POCs for CVE-2026-105631

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-105631

请登录查看更多情报信息。

Other References for CVE-2026-105631 (6)

Same Patch Batch · makeplane · 2026-10-05 · 38 CVEs total

CVE-2026-105636 9.9 CRITICAL Plane: SSRF via HTTP redirect in webhook delivery (allow_redirects not set)
CVE-2026-105639 9.8 CRITICAL Plane: Pre-auth workspace invitation hijack via email-squat and self-served invitation tok
CVE-2026-105641 9.8 CRITICAL Plane: Hardcoded SECRET_KEY and LIVE_SERVER_SECRET_KEY shipped in aio/cli community deploy
CVE-2026-105637 9.6 CRITICAL Plane: Cross-Project Asset Hijacking via 'ProjectBulkAssetEndpoint' (sibling of CVE-2026-4
CVE-2026-105638 9.1 CRITICAL Plane: Magic-code verifier endpoint has no rate limit, enabling 6-digit OTP brute force
CVE-2026-105640 9.1 CRITICAL Plane: Account Takeover via Unverified OAuth Email Match (Gitea, self-managed GitLab)
CVE-2026-105630 8.7 HIGH Plane: Stored XSS via SVG attachment served inline on the application origin (account take
CVE-2026-104892 8.7 HIGH Plane: Plaintext logging of API token
CVE-2026-104966 8.7 HIGH Plane: Cross-Workspace IDOR in Estimate and Comment Endpoints Allows Read, Modify, and Inj
CVE-2026-104976 8.7 HIGH Plane: SSRF in Gitea OAuth
CVE-2026-104979 8.7 HIGH Plane: Cross-tenant stored XSS in intake enables account takeover
CVE-2026-105632 8.7 HIGH Plane: Broken Access Control - joinProject GraphQL mutation allows self-join into private
CVE-2026-104968 8.7 HIGH Plane: Cross-workspace member enumeration via /api/workspaces/{slug}/entity-search/
CVE-2026-104971 8.5 HIGH Plane: Cross-Workspace Asset Duplication IDOR + WorkspaceFileAssetEndpoint and FileAssetEn
CVE-2026-104978 8.2 HIGH Plane: Invitation Hijack in Project Join Flow via Missing Authorization and Email-Only Acc
CVE-2026-104970 8.1 HIGH Plane: InstanceAdminSignUpEndpoint TOCTOU race allows two concurrent unauthenticated calle
CVE-2026-105634 8.1 HIGH Plane: Privilege Escalation: Project Guest Can Demote Admin/Member Roles
CVE-2026-104974 8.1 HIGH Plane: Disabled User Auto-Reactivation on Login
CVE-2026-104977 7.7 HIGH Plane: Incomplete fix of CVE-2026-27706 — SSRF still reachable on: missing is_blocked_ip (
CVE-2026-104973 7.6 HIGH Plane: DNS Rebinding Bypass of CVE-2026-30242 SSRF Fix in Webhook Delivery

Showing top 20 of 38 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-105631

No comments yet


Leave a comment