Skip to main content

Kimai CVE-2026-80202

| EUVDEUVD-2026-66224 CRITICAL
Incorrect Authorization (CWE-863)
2026-08-25 VulnCheck GHSA-fx95-9ppf-x8wm
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to API as ROLE_TEAMLEAD
  2. Delivery
    Enumerate sequential timesheet IDs
  3. Exploit
    Request other-team timesheet via voter gap
  4. Execution
    Read, PATCH, or DELETE arbitrary record
  5. Impact
    Destroy 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

kimai 0 <2.56.0

Affected Packages

composer kimai/kimai fix: 2.56.0
euvd kimai fix: 2.56.0

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

Vendor (VulnCheck) PRIMARY 9.3 CRITICAL
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
vuln.today AI 8.8 HIGH

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).

3.1 AV:N/AC:L/PR:L/UI:N/S:N/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

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

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Medium
popular open-source self-hosted time-tracker, moderate but not ubiquitous footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Kimai

View all
CVE-2026-52824 CRITICAL POC
9.1 Jul 14

Account takeover in Kimai time-tracking software (versions <= 2.57.0) stems from the official Docker image shipping a pu

CVE-2021-3985 CRITICAL POC
9.0 Dec 01

kimai2 is vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). Rated crit

CVE-2023-46245 HIGH POC
7.2 Oct 31

Kimai is a web-based multi-user time-tracking application. Rated high severity (CVSS 7.2), this vulnerability is remotel

CVE-2026-23626 MEDIUM POC
6.8 Jan 18

Kimai versions prior to 2.46.0 contain an overly permissive Twig sandbox configuration in the export functionality that

CVE-2026-28685 MEDIUM POC
6.5 Mar 06

Kimai versions prior to 2.51.0 lack proper customer-level access controls in the invoice API endpoint, allowing any user

CVE-2024-29200 MEDIUM POC
6.5 Mar 28

Kimai is a web-based multi-user time-tracking application. Rated medium severity (CVSS 6.5), this vulnerability is remot

CVE-2021-4033 MEDIUM POC
6.5 Dec 09

kimai2 is vulnerable to Cross-Site Request Forgery (CSRF). Rated medium severity (CVSS 6.5), this vulnerability is remot

CVE-2021-3976 MEDIUM POC
6.5 Nov 19

kimai2 is vulnerable to Cross-Site Request Forgery (CSRF). Rated medium severity (CVSS 6.5), this vulnerability is remot

CVE-2019-25317 MEDIUM POC
5.1 Feb 11

Kimai 2 contains a persistent cross-site scripting vulnerability that allows attackers to inject malicious scripts into

CVE-2026-80196 HIGH
8.7 Aug 25

Password reset links in Kimai before 2.58.0 function as persistent authentication credentials because the LoginLink HMAC

CVE-2026-80193 HIGH
8.7 Aug 25

Authorization bypass in Kimai's QuickEntry controller allows authenticated network users holding view_other_timesheet an

CVE-2026-80198 HIGH
8.7 Aug 25

Kimai's Twig sandbox exposes server-wide secrets through an unrestricted config() function in administrator-uploaded inv

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy