CVE-2026-40102: Plane ORM field reference injection in SavedAnalyticEndpoint

CVE-2026-40102 · Severity: medium · CVSS 6.5 · Published 2026-05-20

Plane is an open-source project management platform. A security vulnerability in the tool's analytics reporting feature allows authenticated users to bypass data restrictions and access sensitive information they are not authorized to see. This could result in the exposure of administrative password hashes, API tokens, and user email addresses, potentially leading to full account takeovers or further data breaches.

Technologies: Makeplane Plane. Vendors: Makeplane.

Quick answers

Is CVE-2026-40102 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-40102 being exploited in the wild.
How severe is CVE-2026-40102?
Medium severity, with a CVSS score of 6.5, published 20 May 2026.
Which products and versions are affected?
Makeplane Plane <= 1.3.0.
Is there a fix for CVE-2026-40102?
A patch was published on 2026-05-14: Version 1.3.1 released with security fixes. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-40102 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2026-40102?
Check whether you run Makeplane Plane at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

An ORM Field Reference Injection vulnerability exists in Plane's 'SavedAnalyticEndpoint' due to improper validation of the 'segment' query parameter. Unlike the standard 'AnalyticsEndpoint', this endpoint fails to check input against an allowlist before passing it to a Django F() expression within the 'build_graph_plot()' utility. An authenticated attacker with 'MEMBER' or 'ADMIN' roles can craft a request that traverses foreign-key relationships (e.g., 'workspace__owner__password'). Because the application subsequently calls '.values()' on the annotated queryset, the values of these sensitive fields are returned directly in the API's JSON response. This issue is fixed in version 1.3.1 by centralizing analytics field allowlists and adding defense-in-depth validation.

Affected products

  • makeplane Plane <= 1.3.0

Timeline

  • 2026-05-14: patched: Version 1.3.1 released with security fixes.
  • 2026-05-15: advisory: GitHub Security Advisory GHSA-93x3-ghh7-72j3 published.
  • 2026-05-20: disclosed: CVE-2026-40102 published to the NVD.

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.