Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable OIDC callback with no attacker privileges (PR:N) but mandatory victim click (UI:R); login-CSRF yields high C/I via attacker-account session fixation and no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Leantime contains an OIDC login CSRF vulnerability in the verifyState() method that unconditionally returns true without validating state parameters. Attackers can craft malicious callback URLs with attacker-controlled authorization codes to perform session fixation, logging victims in as the attacker.
AnalysisAI
Login CSRF (session fixation) in Leantime's OpenID Connect authentication flow allows an attacker to authenticate a victim into an attacker-controlled account. The root cause is a stubbed verifyState() method that unconditionally returns true, so the OIDC state parameter is never validated, letting a crafted callback URL carrying an attacker-supplied authorization code complete login as the attacker. No public exploit identified at time of analysis, but a vendor patch and a public technical advisory (VulnCheck) exist; CVSS 4.0 is rated 8.6 (High).
Technical ContextAI
Leantime is an open-source project management application that supports OpenID Connect (OIDC) single sign-on. In a correct OIDC authorization-code flow, the client generates a random 'state' value before redirecting to the identity provider and verifies that the value returned on the callback matches, binding the callback to the user's own session and preventing cross-site request forgery. Here the verifyState() method is a non-functional stub that always returns true, so no comparison ever occurs. This is a textbook CWE-352 (Cross-Site Request Forgery) instance applied to the authentication callback - because the anti-CSRF token (the OIDC state) is not checked, an attacker can substitute their own authorization code and force the victim's browser to complete the login, a login-CSRF / session-fixation outcome. The affected component is identified in CPE as cpe:2.3:a:leantime:leantime across all versions prior to the fix.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - apply the fix from commit 9630eb7db682fb1b4e23cdabf3428d03ec6f5094 (https://github.com/Leantime/leantime/commit/9630eb7db682fb1b4e23cdabf3428d03ec6f5094), which restores real validation of the OIDC state parameter, and track the tagged release referenced in issue https://github.com/Leantime/leantime/issues/3535 before upgrading production. If patching cannot be done immediately, the most effective compensating control is to disable OIDC/SSO login and fall back to local authentication, which fully removes the vulnerable code path at the cost of losing single sign-on convenience. Where OIDC must stay enabled, restrict the application and its callback endpoint to trusted networks/VPN to reduce exposure to attacker-delivered callback URLs, and warn users not to follow unsolicited Leantime login links; note these are partial mitigations that reduce but do not eliminate the login-CSRF risk. Consult the VulnCheck advisory (https://www.vulncheck.com/advisories/leantime-oidc-login-csrf-via-unconditional-state-verification-stub) for details.
Leantime 3.0.6 is vulnerable to Cross Site Request Forgery (CSRF). Rated high severity (CVSS 8.8), this vulnerability is
Cross-site request forgery in Leantime 3.6.2 lets a remote unauthenticated attacker execute state-changing actions in th
Server-side request forgery and local file inclusion in Leantime 3.6.2 lets authenticated attackers coerce the server in
Cross Site Scripting vulnerability in Leantime v3.0.6 allows attackers to execute arbitrary code via upload of crafted P
Leantime is an open source project management system. Rated medium severity (CVSS 6.5), this vulnerability is remotely e
In Leantime 3.0.6, a Cross-Site Scripting vulnerability exists within the ticket creation and modification functionality
Cross Site Scripting vulnerability in Leantime 3.0.6 allows a remote attacker to execute arbitrary code via the to-do ti
Open redirect in Leantime 3.6.2's Login controller lets unauthenticated attackers craft login URLs where the `redirectUr
Missing centralized authorization in Leantime's JSON-RPC API dispatcher (through v3.9.0) enables any authenticated user
Leantime before versions 2.0.15 and 2.1-beta3 has a SQL Injection vulnerability. Rated high severity (CVSS 8.8), this vu
Leantime 3.0.6 is vulnerable to HTML Injection via /dashboard/show#/tickets/newTicket. Rated medium severity (CVSS 4.7),
Credential disclosure in Leantime's JSON-RPC API allows an authenticated user to read any account's full credential row
Same weakness CWE-352 – Cross-Site Request Forgery (CSRF)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41941
GHSA-vwm8-rprj-29f7