Description
Plane is an open-source project management tool. Prior to 1.4.0, Plane validates GITEA_HOST only for its URL scheme and does not reject hosts that resolve to private or internal IP addresses. The four outbound requests in the Gitea OAuth flow are derived from this unvalidated host and do not call validate_url(). In addition, avatar_url is taken from the Gitea user's profile, where users can configure external avatar URLs. After an administrator enables Gitea OAuth for a legitimate instance, a Gitea user can set an internal URL as the profile avatar and log in through Gitea, causing Plane to fetch the internal target without validation. This issue is fixed in 1.4.0.
Published: 2026-10-05
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: Remote Server Request Forgery (SSRF)
Action: Patch Now
AI Analysis

Impact

Plane, an open‑source project management tool, allowed an attacker to cause outbound requests to internal or private network addresses by exploiting the Gitea OAuth integration. Prior to version 1.4.0, the system only verified the URL scheme of the GITEA_HOST configuration and did not reject hosts that resolved to private or internal IP addresses. The four HTTP requests made during the OAuth handshake as well as the avatar image URL fetched from a Gitea user profile were constructed from this unvalidated host without calling the standard URL validator. After an administrator enabled Gitea OAuth for a legitimate instance, a Gitea user could set a URL pointing to an internal resource as their avatar. When that user logged in through Gitea, Plane would retrieve the avatar image from the internal target, thereby proving internal network reachability and potentially exposing sensitive data. The vulnerability is an example of CWE‑918: Server Side Request Forgery.

Affected Systems

MakePlane Plane deployments using any version prior to 1.4.0 are affected. The issue is fixed in release v1.4.0, available on the MakePlane GitHub releases page.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity, and the vulnerability is not currently listed in the CISA KEV catalog. While an EPSS score is not available, the likely attack vector requires an attacker to have a Gitea user account and the ability to configure an avatar URL that points to an internal resource. Once Gitea OAuth is enabled, the exploit causes Plane to fetch the blind internal URL, potentially allowing reconnaissance or further lateral movement. The risk is significant for environments that expose internal network resources or permit unrestricted avatar URLs.

Generated by OpenCVE AI on October 5, 2026 at 20:17 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Plane to version 1.4.0 or later to apply the acknowledged fix.
  • If upgrading immediately is not feasible, disable the Gitea OAuth integration or restrict the GITEA_HOST configuration to only publicly reachable hosts.
  • Ensure that user profile avatar URLs are validated or sanitized so that internal or private network addresses cannot be used.

Generated by OpenCVE AI on October 5, 2026 at 20:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 05 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Makeplane
Makeplane plane
Vendors & Products Makeplane
Makeplane plane

Mon, 05 Oct 2026 18:00:00 +0000

Type Values Removed Values Added
Description Plane is an open-source project management tool. Prior to 1.4.0, Plane validates GITEA_HOST only for its URL scheme and does not reject hosts that resolve to private or internal IP addresses. The four outbound requests in the Gitea OAuth flow are derived from this unvalidated host and do not call validate_url(). In addition, avatar_url is taken from the Gitea user's profile, where users can configure external avatar URLs. After an administrator enables Gitea OAuth for a legitimate instance, a Gitea user can set an internal URL as the profile avatar and log in through Gitea, causing Plane to fetch the internal target without validation. This issue is fixed in 1.4.0.
Title Plane: SSRF in Gitea OAuth
Weaknesses CWE-918
References
Metrics cvssV4_0

{'score': 8.7, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-05T17:45:43.115Z

Reserved: 2026-10-02T18:16:13.629Z

Link: CVE-2026-104976

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-05T18:17:32.913

Modified: 2026-10-05T18:17:33.037

Link: CVE-2026-104976

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-05T20:30:22Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)