CVE-2026-104977 in Plane
Summary
by MITRE • 10/05/2026
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.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Analysis
by VulDB Data Team • 10/05/2026
The vulnerability identified involves a Server-Side Request Forgery (SSRF) flaw within the Plane open-source project management platform, specifically affecting versions prior to 1.4.0. Although a remediation for this class of issue was initially introduced in version 1.2.2 under CVE-2026-27706 and GHSA-jcc6-f9v6-f7jw, the implementation proved insufficient when carried forward into the v1.3.1 general availability release. The core technical flaw resides in the mechanism used for link unfurling within work items. When a user includes a URL in a work item description or comment, the server attempts to fetch metadata from that URL to generate a preview, such as a title or favicon. Due to incomplete hardening of this fetching process, an authenticated attacker can manipulate the input URLs to force the Plane application server to initiate requests to internal network destinations that are typically inaccessible from external networks.
This SSRF vulnerability allows any authenticated project member to bypass access controls by directing the server to fetch resources from sensitive internal targets. A primary target for exploitation is the cloud metadata service endpoint located at 169.254.169.254, which is a standard address used by major cloud providers like AWS and Azure to expose instance-specific data. By crafting specific URLs that point to this IP address or other internal services, an attacker can cause the Plane server to retrieve sensitive information such as IAM role credentials, security tokens, or configuration details. The retrieved response body is then reflected back to the attacker through the link preview features, specifically within the generated title or favicon fields of the work item interface. This reflection mechanism provides a reliable channel for data exfiltration without requiring additional complex out-of-band techniques.
The operational impact of this vulnerability is significant as it compromises the confidentiality and integrity of cloud infrastructure associated with the Plane deployment. An attacker who successfully exploits this flaw can extract authentication credentials or other sensitive metadata, which may lead to further compromise of the underlying virtual machines or containers hosting the application. This aligns with CWE-918, Server-Side Request Forgery (SSRF), where a web server is tricked into making requests on behalf of an attacker to internal resources. Furthermore, this attack vector corresponds to MITRE ATT&CK technique T1557, Adversary-in-the-Middle, as the attacker leverages the trusted application server to interact with other internal services, effectively positioning themselves within the network perimeter. It also relates to CWE-200, Exposure of Sensitive Information to an Unauthorized Actor, due to the direct leakage of cloud metadata responses.
The root cause of this persistence is attributed to incomplete hardening measures that were present in the main development branch but failed to be included in earlier released tags prior to version 1.4.0. Specifically, pull request 9163 on the main branch contains the complete fix for SSRF protections, including proper validation and blocking of internal IP ranges during link unfurling operations. However, this critical update was not backported or tagged correctly until the release of v1.4.0. Consequently, users running versions between 1.2.2 and 1.3.1 remain vulnerable despite believing they had applied previous security patches. This highlights a common risk in open-source projects where fixes are merged into development branches but not immediately propagated to stable releases through proper versioning practices.
To mitigate this vulnerability, organizations must upgrade the Plane application to version 1.4.0 or later as soon as possible. For environments that cannot immediately upgrade, temporary mitigations should be implemented at the network level by blocking outbound HTTP and HTTPS traffic from the Plane server instances to internal IP ranges, particularly 169.254.169.254 and other private address spaces such as 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16. Additionally, implementing strict egress filtering rules that whitelist only required external domains can prevent the server from reaching internal metadata services even if an SSRF attempt is made. Application-level controls should also be reviewed to ensure that any future link unfurling features enforce rigorous URL validation and domain allowlisting before initiating network requests.