Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as project member
-
DeliverySubmit work-item link to internal target
-
ExploitServer unfurls attacker-chosen URL
-
ExecutionSSRF reaches cloud metadata (169.254.169.254)
-
ImpactResponse body read as link title/favicon
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated account with project-member privileges (PR:L) on a Plane instance running an affected version (the v1.3.1 GA line, where the v1.2.2 fix for CVE-2026-27706 remains incomplete). The specific abused feature is server-side work-item link unfurling, which fetches attacker-supplied URLs and returns the response body as the link title/favicon, making this a readable (non-blind) SSRF. Impact is greatest on cloud-hosted deployments where the link-fetcher can reach the instance metadata service at 169.254.169.254 to steal IAM credentials. Limiting factors: exploitation requires prior authentication as a project member (not fully anonymous/remote), depends on the link-unfurling feature being in use, and the highest-value outcome depends on the deployment being in a cloud environment with reachable internal metadata/services. |
| Impact | This is a credible, above-average-priority SSRF (CWE-918) that should be patched promptly, though it is not a drop-everything emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H) is internally consistent with the description: network-reachable, low attack complexity, and only low privileges (any authenticated project member) are required, with a scope change (S:C) that correctly reflects the server pivoting to attack other systems such as the cloud metadata endpoint. The high confidentiality impact (C:H, I:N, A:N) is justified because the response body is reflected back to the attacker as the link title/favicon - a readable SSRF, not blind - making cloud-credential theft via 169.254.169.254 realistic in cloud-hosted deployments. No EPSS score was provided in the input, and there is no CISA KEV listing and no public POC referenced, so exploitation is currently theoretical: no public exploit identified at time of analysis. The one tempering factor is the PR:L authentication gate - the attacker must already be a project member - which rules out opportunistic internet-wide mass exploitation and points toward insider or post-account-compromise abuse. Note also that this is explicitly an incomplete-fix regression (the prior fix for CVE-2026-27706/GHSA-jcc6-f9v6-f7jw shipped in v1.2.2 but was not fully effective in v1.3.1 GA), so operators who believed they were patched may still be exposed - verify the running version is 1.4.0 or later. |
| Exploit ScenarioDerived | An authenticated low-privilege project member adds a work item link pointing at an internal-only URL (e.g. http://169.254.169.254/latest/meta-data/iam/security-credentials/). Plane's server-side link-unfurling fetches that URL and returns the response body to the attacker as the link's title or favicon, disclosing cloud IAM credentials or internal service data. No public exploit code was identified, but exploitation requires only standard project-member access and low complexity (AV:N/AC:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Server-side request forgery in the Plane project-management platform (makeplane/plane) prior to 1.4.0 allows any authenticated project member to make the server fetch attacker-chosen internal URLs during work-item link unfurling and read the response body back as the link title or favicon, producing a readable rather than blind SSRF. The vulnerable behaviour is a regression-style gap: the fix shipped in v1.2.2 for CVE-2026-27706 / GHSA-jcc6-f9v6-f7jw (also an SSRF in link unfurling) remains incomplete in the v1.3.1 GA release, so the v1.2.2 mitigation alone is not sufficient on that line. Rated CVSS 7.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N), exploitation requires a low-privileged authenticated account, and no public exploit code has been identified at time of analysis; the highest-value outcome is theft of cloud IAM credentials by targeting the instance metadata endpoint at 169.254.169.254 on cloud-hosted deployments, where the link fetcher can reach internal metadata or internal-only services.
RemediationAI
Vendor-released patch: upgrade Plane to 1.4.0 (https://github.com/makeplane/plane/releases/tag/v1.4.0), which contains the complete hardened URL-fetch path delivered via PR 9163 (https://github.com/makeplane/plane/pull/9163) and commit 04622ce1188c4680951f0001e35efb342fe51615 - validate deployments accordingly against advisory GHSA-hhj8-7hv6-m74r. Where an immediate upgrade is not possible, apply compensating controls knowing their trade-offs: enforce outbound egress filtering (Kubernetes NetworkPolicy, security group, or host firewall) on the Plane API and Celery worker pods to deny RFC1918 ranges and, critically, the link-local range 169.254.0.0/16, which blocks the metadata SSRF payload at the network layer even though the application check is incomplete - but this will also break legitimate link previews, OAuth avatar downloads and inbound webhook targets that legitimately resolve to internal addresses, so it must be paired with an allowlist of approved external destinations. On AWS, require IMDSv2 (HttpTokens=required) so a simple GET without a session token cannot retrieve credentials; this raises the bar substantially for token theft but does not stop SSRF against other internal services such as Redis, Elasticsearch or admin panels, and it does not remediate the underlying bug. Do not rely on DNS-level blocklists alone, because the upstream analysis documents DNS-rebinding TOCTOU and redirect-based bypasses that defeat name-only validation; any interim control must be enforced at connect time or at the network perimeter. Additionally, because exploitation requires PR:L, reduce the blast radius by auditing and minimising project-member accounts on exposed instances until patched.
Affected VersionsENISA
Affected Packages
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 flaw is a classic CWE-918 server-side request forgery in Plane's URL-fetching path, specifically the work-item link unfurling feature that retrieves a user-supplied link and renders the returned title or favicon back to the requester. Because the server returns response content to the attacker, this is an information-disclosing (readable) SSRF, which is why the CVSS vector scores C:H with S:C (scope change to the internal network and cloud metadata service) while I and A remain N. The CPE cpe:2.3:a:makeplane:plane:*:*:*:*:*:*:*:* indicates all released Plane versions are in scope, with 1.4.0 the first fixed release. The upstream hardening in PR 9163 introduces a pinned-fetch helper (plane.utils.url_security.pinned_fetch and pinned_fetch_following_redirects) that resolves a URL, validates the resolved IP against internal ranges, and then pins the connection to that already-validated IP so a re-resolution cannot be swapped for an internal address between validation and connect (defeating the DNS-rebinding TOCTOU). The same PR applies redirect-aware validation (re-validating every hop, max 5 redirects) to OAuth-provider avatar downloads - whose profile-supplied avatar URL is attacker-influenceable - and replaces webhook delivery's TCP call with a pinned fetch that never follows redirects, so a 3xx Location cannot bounce a request into an internal network. The diff also adds SSRF-validation failure handling that logs the rejection without retrying or auto-deactivating the webhook, and fixes a related dictionary-key context bug in the webhook view. Notably, the earlier v1.2.2 fix guarded only part of this surface, which is why the v1.3.1 GA line still exposes the link-unfurling path described in the advisory GHSA-hhj8-7hv6-m74r.
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
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Any authenticated project member (PR:L) triggers server-side fetch over the network (AV:N/AC:L); the server pivots to other systems (S:C) and the response body is readable (C:H), with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Plane is an open-source project management tool. Prior to 1.4.0, the fix for CVE-2026-27706 and GHSA-jcc6-f9v6-f7jw, an SSRF in work-item link unfurling shipped in v1.2.2, remains incomplete in the v1.3.1 GA release. Any authenticated project member can make the server fetch attacker-selected internal targets, including cloud metadata at 169.254.169.254, and read the response body returned as the link title or favicon. Complete hardening exists on main in PR 9163 but was not included in an earlier released tag. This issue is fixed in 1.4.0.
Technical POC Analysis
CWE-918, server-side request forgery (full-read).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Plane, a project-management platform used for collaboration, contains a server-side request forgery (SSRF) vulnerability (CVE-2026-104977) that allows any authenticated project member to force the server to fetch internal URLs and read responses. On cloud-hosted deployments, this could enable theft of cloud IAM credentials via the instance metadata endpoint, potentially leading to broader cloud environment compromise. Leadership should prioritize mitigation because the vulnerability affects confidentiality of sensitive internal services and requires only low-privileged access, with no public exploit identified but no vendor patch currently available.
Apply network-level restrictions to block access to internal metadata endpoints (e.g., 169.254.169.254) and sensitive internal services; enforce IMDSv2; disable link unfurling if possible; enforce least privilege for project members; monitor outbound request logs for suspicious activity.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Plane version 0.7.1 allows an unauthenticated attacker to view all stored server files of all users. Rated high severity
Authenticated users who can create a workspace in Plane can force the application's background worker to fetch internal-
Unauthenticated remote attackers can forge Django-signed session cookies, CSRF tokens, and password-reset tokens, and by
Workspace invitation hijacking in Plane prior to 1.4.0 lets an unauthenticated attacker take over a pending workspace in
Plane is an open-source project management tool. Rated medium severity (CVSS 5.8), this vulnerability is remotely exploi
Improper authorization in Plane before 1.4.0 lets an authenticated workspace Guest hijack file assets from other project
Account takeover in Plane (makeplane) versions prior to 1.4.0 allows remote unauthenticated attackers to log in as exist
Brute-forceable magic-code email login in Plane versions prior to 1.4.0 allows unauthenticated remote attackers to guess
Server-side request forgery in Plane, the open-source project management tool, allows a low-privilege user of a connecte
Authenticated cross-workspace access control bypass in Plane (makeplane/plane) before version 1.4.0 lets any user with a
Plane prior to 1.4.0 allows an authenticated workspace member to bypass project-level authorization and join any project
Stored cross-site scripting in Plane prior to 1.4.0 lets an authenticated low-privilege workspace member - including a G
EUVD-2026-92535
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB