Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to API as ROLE_TEAMLEAD
-
DeliveryEnumerate sequential timesheet IDs
-
ExploitRequest other-team timesheet via voter gap
-
ExecutionRead, PATCH, or DELETE arbitrary record
-
ImpactDestroy or forge billing/payroll data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must possess a valid authenticated Kimai account carrying ROLE_TEAMLEAD, or any role that grants the edit_other_timesheet or delete_other_timesheet permission, and API access (token) to the instance. No team membership with the victim and no user interaction are required, and the deployment does not need any non-default feature enabled - the flawed voter logic is present in default installations. Limiting factors: plain ROLE_USER accounts are correctly restricted (DELETE returns 403), so the attacker needs the elevated teamlead-level role; only affects Kimai <= 2.55.0. This means the realistic risk is insider/abused-privilege or account-compromise of a teamlead, not anonymous internet exploitation. |
| Impact | The signals are largely aligned toward high priority but with one caveat worth calling out. The published CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H, score 9.3) rates this critical and treats it as unauthenticated (PR:N), yet the description and PoC make clear that exploitation requires an authenticated account with ROLE_TEAMLEAD or an equivalent edit_other/delete_other grant - ROLE_USER accounts are correctly blocked. That is a real conflict: PR should be at least Low, so the raw 9.3 slightly overstates the pre-conditions. That said, teamlead is a commonly delegated, non-administrative role, so the barrier is modest, and impact is severe and irreversible (permanent deletion of billing/payroll data plus silent tampering). No EPSS probability was supplied and the CVE is not in CISA KEV, so there is no evidence of mass or automated exploitation yet; however, working exploit code is public and the attack is trivially scriptable against sequential IDs. A further complicating signal: the maintainers characterize this behavior as matching Kimai's documented permission model, which may affect how the fix is perceived even though 2.56.0 changes the behavior. Net: any organization running multi-team Kimai with delegated teamleads should treat this as an urgent patch, since a single semi-trusted role can destroy financial records across the whole instance. |
| Exploit ScenarioDerived | A disgruntled or compromised employee who holds ROLE_TEAMLEAD authenticates to the API with a valid token, enumerates sequential timesheet IDs (GET /api/timesheets/{id}), and issues DELETE requests to permanently wipe another team's billable hours or PATCH requests to inflate/deflate durations and flip billing flags - directly corrupting invoicing and payroll. A working PoC demonstrating read (HTTP 200), delete (HTTP 204), and tamper (HTTP 200) against Kimai 2.52.0 is published in the advisory. Given AV:N/AC:L and no user interaction, the entire attack is a short, easily scripted loop over integer IDs. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 26, 2026
Authorization bypass in the Kimai open-source time-tracking application before 2.56.0 lets any authenticated user holding ROLE_TEAMLEAD (or any role granting edit_other_timesheet/delete_other_timesheet) read, modify, and permanently delete timesheets belonging to any user system-wide through the REST API, ignoring team boundaries. Because timesheet IDs are sequential integers, an attacker can enumerate and target every record, enabling destruction of billable hours and forgery of payroll/invoicing data. Publicly available exploit code exists (working API PoC in the GHSA advisory, verified against 2.52.0), though the vulnerability is not listed in CISA KEV and no EPSS score was provided.
RemediationAI
Upgrade to Kimai 2.56.0, which adds the missing team-membership enforcement (Vendor-released patch: 2.56.0); this is the primary and recommended fix per GHSA-9g2q-w3w2-vf7q. If you cannot patch immediately, reduce exposure by minimizing the number of accounts holding ROLE_TEAMLEAD and auditing any custom roles that grant edit_other_timesheet or delete_other_timesheet, revoking them from users who do not require cross-team access - the trade-off is that legitimate teamleads lose the ability to manage other users' timesheets until patched. Additionally, restrict or monitor API token issuance and log/alert on DELETE and PATCH calls to /api/timesheets/{id} so cross-team manipulation is detectable, and consider taking regular database backups of timesheet data so that malicious permanent deletions can be recovered. Note that these compensating controls only shrink the trusted population; they do not close the underlying voter gap, so patching remains essential.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Kimai enforces resource authorization through a Symfony security voter, TimesheetVoter::voteOnAttribute(). The voter derives a permission by checking only whether the subject timesheet belongs to the requesting user, appending 'own' if so and 'other' otherwise, then mapping to own_timesheet or other_timesheet permissions. It never verifies whether the acting user and the timesheet owner share a team, and the code even carries the comment '// extend me for "team" support later on', confirming the gap is a known unimplemented control. The root cause is CWE-863 (Improper Authorization): a correctly authenticated principal is granted access that should be scoped by team membership but is not. Affected code path is reachable via the /api/timesheets/{id} endpoints (GET/PATCH/DELETE). Per the CPE cpe:2.3:a:kimai:kimai:*, all Kimai application builds up to and including 2.55.0 are affected.
Know when Kimai gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Exploitation requires an authenticated teamlead-level role, so PR:L rather than PR:N; network API vector with low complexity and no interaction yields full read, tamper, and permanent-delete of other users' data (C/I/A:H).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Kimai before 2.56.0 does not enforce team-membership checks in TimesheetVoter::voteOnAttribute(), which maps permissions only to own_timesheet or other_timesheet. As a result, any authenticated user with ROLE_TEAMLEAD (or a role holding edit_other_timesheet/delete_other_timesheet) can read, modify, and permanently delete timesheets belonging to any user system-wide via the API, regardless of team membership. Timesheet IDs are sequential integers and trivially enumerable. ROLE_USER accounts are correctly restricted. (Note: the maintainers characterize this behavior as matching the documented permission model.)
Executive ViewAI
Kimai time-tracking versions before 2.56.0 contain a critical security flaw allowing authenticated team lead users to access, modify, and delete all organizational timesheets regardless of team assignment, with publicly available exploit code existing. This enables destruction of billable hours and manipulation of payroll and invoice records, creating immediate financial and compliance risk.
Vendor-released patch: Kimai 2.56.0. Until patched, restrict team lead role to essential staff only, disable REST API access if not required, implement IP whitelisting and rate limiting on timesheet endpoints, and enable comprehensive audit logging of all timesheet operations.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Account takeover in Kimai time-tracking software (versions <= 2.57.0) stems from the official Docker image shipping a pu
kimai2 is vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). Rated crit
Kimai is a web-based multi-user time-tracking application. Rated high severity (CVSS 7.2), this vulnerability is remotel
Kimai versions prior to 2.46.0 contain an overly permissive Twig sandbox configuration in the export functionality that
Kimai versions prior to 2.51.0 lack proper customer-level access controls in the invoice API endpoint, allowing any user
Kimai is a web-based multi-user time-tracking application. Rated medium severity (CVSS 6.5), this vulnerability is remot
kimai2 is vulnerable to Cross-Site Request Forgery (CSRF). Rated medium severity (CVSS 6.5), this vulnerability is remot
kimai2 is vulnerable to Cross-Site Request Forgery (CSRF). Rated medium severity (CVSS 6.5), this vulnerability is remot
Kimai 2 contains a persistent cross-site scripting vulnerability that allows attackers to inject malicious scripts into
Password reset links in Kimai before 2.58.0 function as persistent authentication credentials because the LoginLink HMAC
Authorization bypass in Kimai's QuickEntry controller allows authenticated network users holding view_other_timesheet an
Kimai's Twig sandbox exposes server-wide secrets through an unrestricted config() function in administrator-uploaded inv
EUVD-2026-66224
GHSA-fx95-9ppf-x8wm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB