CVE-2026-52827
moderateTwo-factor authentication bypass in Kimai REST API before 2.59.0
Kimai, a self-hosted open-source time-tracking application, accepted the KIMAI_SESSION cookie issued after password verification but before TOTP completion on every /api route, because the API firewall only required IS_AUTHENTICATED and a Scheb TwoFactorToken satisfies that rule while ApiVoter grants API access to the underlying user. An attacker who possesses a valid account password can therefore perform authenticated REST API operations without ever supplying the second factor, even though web routes remain correctly blocked pending TOTP. The result is a partial 2FA bypass that exposes timesheet data and other API-reachable actions to anyone who already knows or has stolen a password (CVSS 4.0: 7.1, high). All installations running versions prior to 2.59.0 with TOTP/2FA enabled are affected; the issue is fixed in 2.59.0. No public proof of concept is known and there is no evidence of in-the-wild exploitation, and the flaw is not in the CISA KEV catalog.
What to do: Upgrade to Kimai 2.59.0 or later as soon as possible, since it is the only fixed version. Until then, treat a user's password alone as sufficient for API access: enforce strong passwords (or SSO), rotate credentials for accounts suspected of compromise, and review API access logs for activity from sessions that never completed TOTP. Additionally, restrict or firewall exposure of the /api endpoints where full API access is not needed.
| Kimai (time tracking application) | < 2.59.0 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Kimai is an open-source time tracking application. Prior to 2.59.0, the KIMAI_SESSION cookie issued after password verification but before TOTP completion is accepted by every /api route because config/packages/security.yaml protects the API with IS_AUTHENTICATED and App\API\Authentication\ApiRequestMatcher routes an existing session through the main firewall. A Scheb TwoFactorToken satisfies that access rule, and App\Voter\ApiVoter grants API access to its User, allowing an attacker with a valid account password to use authenticated REST API operations without entering the second factor even though web routes remain blocked. This issue is fixed in version 2.59.0.
- Weakness
- CWE-287
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/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
In the news0 stories
No ingested article mentions this CVE yet.