Kimai: Timesheet PATCH/POST allows assigning to project outside user's team via query_builder OR-bypass
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| kimai | kimai | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Kimai | Kimai |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-vrr2-g9gh-c3jc | Kimai: Timesheet PATCH/POST allows assigning to project outside user's team via query_builder OR-bypass |
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.449% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Kimai
Kimai kimai |
|
| Vendors & Products |
Kimai
Kimai kimai |
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | Kimai: Timesheet PATCH/POST allows assigning to project outside user's team via query_builder OR-bypass | |
| Weaknesses | CWE-639 | |
| References |
| |
| Metrics |
cvssV4_0
|