Skip to content
OpenAdvisories
High · 8.8 CVE-2026-80202 EUVD-2026-66224GHSA-9g2q-w3w2-vf7qGHSA-fx95-9ppf-x8wm

Kimai before 2.56.0 Authorization Bypass via TimesheetVoter

Published Aug 25, 2026 · Updated Oct 8, 2026 · Assigned by VulnCheck

Description

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

Affected products

VendorProductAffectedFixed
kimai kimai < 2.56.0 2.56.0

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist kimai/kimai < 2.56.0 2.56.0 GHSA-9g2q-w3w2-vf7q

References