[ CVE-2026-85990 · Published 13 Oct 2026 ]
Leantime: Any Authenticated User Can Self-Escalate to Admin via Unauthorized JSON-RPC Methods
[ Why it matters ]Priority signals
- Public proof-of-concept exploit exists (CISA SSVC)
[ Description ]Official 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.
[ Fixes ]Fixes and patches
- leantime/leantime 3.10.0Fixed version · GitHub Advisories · composer package leantime/leantime: upgrade to 3.10.0 or later (affected < 3.10.0)
[ Packages ]Affected open-source packages
- leantime/leantime composerAffected < 3.10.0 · fixed in 3.10.0 · GHSA-54mm-6729-r5wp
[ References ]References
- github.com/Leantime/leantime/commit/5605e5ee86bbd01acb85c6b5d8fb337faf8bcf02
- github.com/Leantime/leantime/commit/7ebf7a9517e2aaa05ec15b8130ab1841a4bde43e
- github.com/Leantime/leantime/pull/3583
- github.com/Leantime/leantime/pull/3797
- github.com/Leantime/leantime/releases/tag/v3.10.0
- github.com/Leantime/leantime/security/advisories/GHSA-54mm-6729-r5wp