PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-85990 Leantime CVE debrief

CVE-2026-85990 is a high-severity vulnerability in Leantime, allowing any authenticated user to escalate privileges to admin by exploiting unauthorized JSON-RPC methods. This vulnerability exists due to missing per-method authorization on JSON-RPC-exposed service methods in Leantime's JSON-RPC API. The vulnerability allows authenticated users to escalate privileges by calling specific JSON-RPC methods without proper authorization checks. Defenders should prioritize verifying exposure, assessing inventory, and applying remediation to affected Leantime instances. The vulnerability has a high CVSS score of 8.8 and is considered a significant threat to Leantime instances.

Vendor
Leantime
Product
leantime/leantime
CVSS
HIGH 8.8
CISA KEV
Not listed in stored evidence
Original CVE published
2026-10-15
Original CVE updated
2026-10-15
Advisory published
2026-10-15
Advisory updated
2026-10-15

Who should care

Defenders responsible for Leantime instances, security teams, and administrators should assess exposure and apply remediation. They should prioritize verifying exposure, assessing inventory, and applying remediation to affected Leantime instances. Additionally, they should review compensating controls for exposed systems and monitor for suspicious activity.

Why it matters

CVE-2026-85990 allows authenticated users to escalate privileges to admin, potentially leading to unauthorized access and data breaches.

  • Privilege escalation to admin privileges
  • Unauthorized access to sensitive data
  • Potential for lateral movement within the network
  • Need for verification of affected versions and remediation

Technical summary

The vulnerability is caused by missing per-method authorization on JSON-RPC-exposed service methods in Leantime's JSON-RPC API. Leantime's JSON-RPC API reflects any public method on any @api-annotated service class and dispatches it at leantime.rpc.{domain}.{service}.{method}. Per-method authorization is enforced by PermissionEnforcer::enforce() which reads a #[RequiresPermission(...)] PHP attribute off the target method. However, when the attribute is missing, the methods are callable by any authenticated user, leading to potential privilege escalation.

Defensive priority

Defenders should prioritize verifying exposure, assessing inventory, and applying remediation to affected Leantime instances.

Recommended defensive actions

  • Verify Leantime instance exposure and inventory
  • Assess user roles and access controls
  • Apply remediation to affected instances
  • Monitor for suspicious activity
  • Review compensating controls for exposed systems
  • Track exceptions and retest remediated assets
  • Check relevant monitoring, detection, and logs for exposed assets

Evidence notes

The vulnerability allows authenticated users to escalate privileges by calling specific JSON-RPC methods without proper authorization checks. The server creates a new account at the chosen role with no authorization check, and the resulting credentials work as a fully interactive admin login through the ordinary web UI. The same root cause also leaves the Plugins service's installPlugin, enablePlugin, disablePlugin, and removePlugin methods callable by any authenticated user with no role check.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-85990 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-85990

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-85990 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-85990

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

  • Leantime: Any Authenticated User Can Self-Escalate to Admin via Unauthorized JSON-RPC Methods

    Unverified legacy reference

    URL: https://storage.googleapis.com/osv-vulnerabilities/Packagist/GHSA-54mm-6729-r5wp.json

    osv_dev

  • Source reference

    Unverified legacy reference

    URL: https://github.com/Leantime/leantime/security/advisories/GHSA-54mm-6729-r5wp

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/Leantime/leantime/pull/3583

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/Leantime/leantime/pull/3797

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/Leantime/leantime/commit/5605e5ee86bbd01acb85c6b5d8fb337faf8bcf02

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/Leantime/leantime/commit/7ebf7a9517e2aaa05ec15b8130ab1841a4bde43e

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/Leantime/leantime

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/Leantime/leantime/releases/tag/v3.10.0

    Supplemental source

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.