Description
Plane is an open-source project management tool. Prior to 1.4.0, the unauthenticated public issues endpoint accepts group_by and sub_group_by query parameters and passes them without an allowlist to grouped paginators, where they are used as ORM field names by F(field), .values(field), .order_by(field), and Window partition_by operations. An anonymous attacker can supply arbitrary field paths that trigger an unhandled FieldError or KeyError and an HTTP 500 response, or force the ORM to resolve __-separated relational paths as a blind traversal oracle. This is the same field-name injection class addressed by earlier order_by sanitization, but that remediation left group_by and sub_group_by unvalidated. The issue does not directly disclose column values because issue_group_values() returns an empty list for unknown fields, the result projection uses a fixed required_fields list, and the subgrouped path raises KeyError before serialization. This issue is fixed in 1.4.0.
Published: 2026-10-05
Score: 5.3 Medium
EPSS: n/a
KEV: No
Impact: Denial of Service, Blind Oracle
Action: Patch
AI Analysis

Impact

Plane, a project‑management tool, had an unauthenticated field‑name injection flaw in the public issues endpoint. The entry parser accepted arbitrary values for the query parameters group_by and sub_group_by, passing them directly to the ORM without validation. Attackers could craft names that trigger unhandled FieldError or KeyError exceptions, leading to HTTP 500 responses used for denial‑of‑service. In addition, the ORM would resolve __‑separated relational paths, leaking a blind traversal oracle without revealing column data. The vulnerability does not expose sensitive information directly but allows an unauthenticated user to test for the existence of fields or relationships, giving insight into database structure.

Affected Systems

The flaw affects all installations of Plane prior to version 1.4.0 from makeplane. The fix was merged and released in the 1.4.0 tag. Deployments of earlier releases remain susceptible until an upgrade is applied.

Risk and Exploitability

The CVSS base score of 5.3 indicates moderate severity. EPSS data is not available, and the vulnerability is not listed in the CISA KEV catalog. The attack vector is straightforward: an unauthenticated attacker calls the public issues endpoint with crafted group_by or sub_group_by parameters. Because the flaw triggers a 500 error or a key traversal oracle, the effort to exploit is low, especially in environments that expose the public endpoint. The risk grows if the affected instance is publicly accessible, as repeated 500 errors can exhaust server resources or reveal schema details. No privileged access or additional network traversal is required, making this a low‑bar vulnerability for adversaries who seek disruptions or information gathering.

Generated by OpenCVE AI on October 5, 2026 at 18:28 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Plane 1.4.0 or newer, which contains the patched field‑name validation.
  • If immediate upgrade is not possible, restrict unauthenticated access to the public issues endpoint or prohibit the use of group_by and sub_group_by parameters, for example by deploying a firewall rule or API gateway filter.
  • Implement logging and alerting for repeated 500 responses or KeyError exceptions, to detect potential abuse or attempts to map the database schema.

Generated by OpenCVE AI on October 5, 2026 at 18:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

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

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

Type Values Removed Values Added
Description Plane is an open-source project management tool. Prior to 1.4.0, the unauthenticated public issues endpoint accepts group_by and sub_group_by query parameters and passes them without an allowlist to grouped paginators, where they are used as ORM field names by F(field), .values(field), .order_by(field), and Window partition_by operations. An anonymous attacker can supply arbitrary field paths that trigger an unhandled FieldError or KeyError and an HTTP 500 response, or force the ORM to resolve __-separated relational paths as a blind traversal oracle. This is the same field-name injection class addressed by earlier order_by sanitization, but that remediation left group_by and sub_group_by unvalidated. The issue does not directly disclose column values because issue_group_values() returns an empty list for unknown fields, the result projection uses a fixed required_fields list, and the subgrouped path raises KeyError before serialization. This issue is fixed in 1.4.0.
Title Plane: Unauthenticated ORM field-name injection via `group_by`/`sub_group_by` on public deploy boards (DoS + blind oracle)
Weaknesses CWE-943
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-05T16:47:10.263Z

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

Link: CVE-2026-104956

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-05T17:17:11.143

Modified: 2026-10-05T17:17:11.270

Link: CVE-2026-104956

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-05T18:30:19Z

Weaknesses
  • CWE-943

    Improper Neutralization of Special Elements in Data Query Logic