Description
Leantime is an open source project management system. Prior to 3.10.0, for the provisionally grouped account-creation and plugin-management surfaces, Leantime's JSON-RPC dispatcher in app/Domain/Api/Controllers/Jsonrpc.php exposes public API service methods, while PermissionEnforcer::enforce allows methods that lack a RequiresPermission attribute. A low-privilege authenticated user with an ordinary browser session can send the required X-Requested-With: XMLHttpRequest header and call leantime.rpc.api.api.createApiKeyWithProjects, which reaches Api::createApiKeyWithProjects, with an attacker-chosen role to create an interactive administrator account. The same missing per-method authorization exposes Plugins::installPlugin, Plugins::enablePlugin, Plugins::disablePlugin, and Plugins::removePlugin to ordinary authenticated users, permitting unauthorized plugin management. The complete provisionally grouped issue is fixed in version 3.10.0.
Published: 2026-10-13
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: Privilege Escalation to Administrator
Action: Immediate Patch
AI Analysis

Impact

Leantime’s JSON‑RPC dispatcher in app/Domain/Api/Controllers/Jsonrpc.php allows authenticated users to invoke methods that lack a RequiresPermission attribute. An attacker can call api.createApiKeyWithProjects with a chosen role to create an interactive administrator account, elevating privileges from a low‑privilege account to full admin rights. The same missing authorization check also exposes plugin management calls (installPlugin, enablePlugin, disablePlugin, removePlugin) to ordinary users, permitting unauthorized installation or alteration of plugins, which can further compromise system integrity.

Affected Systems

All installations of Leantime earlier than version 3.10.0 are affected. No specific patch versions beyond 3.10.0 are listed, so all releases before 3.10.0 are considered vulnerable.

Risk and Exploitability

The CVSS score of 8.8 indicates high severity. EPSS data is unavailable and the vulnerability is not listed in CISA KEV. Attackers must first be authenticated to the application, then send an XMLHttpRequest header to the JSON‑RPC endpoint and invoke the insecure method. Once authenticated, a simple HTTP request can create an admin account or manipulate plugins, granting full administrative control over the instance. Because the flaw is remote, server‑side, and requires only normal user authentication, the risk is high when Leantime is exposed to the network.

Generated by OpenCVE AI on October 13, 2026 at 18:27 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the official update to Leantime version 3.10.0 or later, which removes the insecure JSON‑RPC methods and enforces per‑method permission checks.
  • If an immediate upgrade is not possible, restrict or disable external access to the JSON‑RPC endpoint, limiting it to trusted IP ranges or internal network only.
  • Verify that the RequiresPermission attribute is enforced on all JSON‑RPC methods and that no legacy methods remain exposed; consider applying a temporary code change to deny all untrusted calls until the upgrade is completed.

Generated by OpenCVE AI on October 13, 2026 at 18:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 13 Oct 2026 19:00:00 +0000

Type Values Removed Values Added
First Time appeared Leantime
Leantime leantime
Vendors & Products Leantime
Leantime leantime

Tue, 13 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Description Leantime is an open source project management system. Prior to 3.10.0, for the provisionally grouped account-creation and plugin-management surfaces, Leantime's JSON-RPC dispatcher in app/Domain/Api/Controllers/Jsonrpc.php exposes public API service methods, while PermissionEnforcer::enforce allows methods that lack a RequiresPermission attribute. A low-privilege authenticated user with an ordinary browser session can send the required X-Requested-With: XMLHttpRequest header and call leantime.rpc.api.api.createApiKeyWithProjects, which reaches Api::createApiKeyWithProjects, with an attacker-chosen role to create an interactive administrator account. The same missing per-method authorization exposes Plugins::installPlugin, Plugins::enablePlugin, Plugins::disablePlugin, and Plugins::removePlugin to ordinary authenticated users, permitting unauthorized plugin management. The complete provisionally grouped issue is fixed in version 3.10.0.
Title Leantime: Any Authenticated User Can Self-Escalate to Admin via Unauthorized JSON-RPC Methods
Weaknesses CWE-269
CWE-862
References
Metrics cvssV3_1

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


Subscriptions

Leantime Leantime
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-13T16:15:09.529Z

Reserved: 2026-09-04T19:17:36.245Z

Link: CVE-2026-85990

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-13T17:17:47.707

Modified: 2026-10-13T17:17:47.840

Link: CVE-2026-85990

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-13T18:45:15Z

Weaknesses