Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-52820 EUVD-2026-78399GHSA-vrr2-g9gh-c3jc

Kimai: Timesheet PATCH/POST allows assigning to project outside user's team via query_builder OR-bypass

Published Sep 15, 2026 · Updated Sep 15, 2026 · Assigned by GitHub_M

Description

Kimai is an open-source time tracking application. Prior to 2.57.0, PATCH /api/timesheets/{id} and POST /api/timesheets accept a user-controlled project identifier through TimesheetApiEditForm and FormTrait, and ProjectRepository::getQueryBuilderForFormType() places that identifier in an unconditional OR branch that bypasses the team access criteria. Any authenticated user with edit_own_timesheet can therefore assign an owned timesheet to a project outside the user's teams, persist unauthorized project attribution, and retrieve project and customer metadata through GET /api/timesheets/{id}?full=true. TimesheetTeamAccessValidator now checks changed project and activity associations against current team access. This issue is fixed in version 2.57.0.

Affected products

VendorProductAffectedFixed
kimai kimai < 2.57.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist kimai/kimai < 2.57.0 2.57.0 GHSA-vrr2-g9gh-c3jc

References