Medium

Kimai: Login CSRF in the Timesheet Stop and Restart API Endpoints Allows Unauthorized State Changes

  • Disclosed: 14.07.2026
  • Updated: 11.10.2026 10:22

Summary

Kimai 2.56.0 contains authenticated cross-site request forgery issues in its timesheet state-changing API endpoints. The application reuses the browser's existing session for /api/* requests, and both the stop and restart operations are exposed through GET and PATCH routes that directly modify business state.

As a result, an attacker can trick a logged-in user into visiting a malicious page and cause unauthorized timesheet actions without the victim's consent. Depending on the endpoint, this can stop a running timesheet or create and start a new one from historical data.

Details

The issue affects at least the following API routes:

  • GET /api/timesheets/{id}/stop
  • GET /api/timesheets/{id}/restart

Both routes are non-read-only operations but are still exposed as GET. In src/API/TimesheetController.php.

A PoC was provided, but removed for security reasons.

Impact

This vulnerability allows an attacker to trigger unauthorized business-state changes as a logged-in victim. In the validated stop case, a running timesheet can be stopped, affecting time tracking integrity and potentially availability of ongoing work tracking. In the restart case, a historical timesheet can be restarted and a new record can be created without the victim's knowledge.

These actions can corrupt time records, distort billing and reporting, interfere with approvals or audits, and create persistent database-side side effects. Because exploitation requires only that the victim visit a malicious page while authenticated, the attack barrier is low.

Solution

The GET routes were removed, both stop and restart are only available via PATCH.

See https://www.kimai.org/en/security/ghsa-r8vr-m544-qh4h for more information.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Composer package kimai/kimai < 2.58.0 2.58.0

References

CVSS score -
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Weakness (CWE)
CWE-352
Platform
Composer
Package
kimai/kimai
Disclosed
14.07.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-r8vr-m544-qh4h - CC BY 4.0

Vulnerability history: kimai/kimai

All published vulnerabilities of this package (Composer package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (33) in the archive
Total entries
33
First → latest
02.2023 07.2026
Without a fix
1
Exploited in attacks
0

Severity breakdown

  • Critical 2
  • High 4
  • Medium 20
  • Low 7

Disclosures per year

  1. 2023: 2
  2. 2024: 3
  3. 2025: 1
  4. 2026: 27
Severity:
  1. Kimai: Login CSRF in the Timesheet Stop and Restart API Endpoints Allows Unauthorized State Changes this entry
    Medium CVE-2026-52823 < 2.58.0 2.58.0
  2. High · 9.8 CVE-2023-53957 <= 1.30.10 no fix
  3. High · 6.5 ghsa-534c-hcr7-67jg < 2.21.0 2.21.0
  4. Critical · 9.6 CVE-2020-19825 < 1.1 1.1

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.