Exposure of Sensitive Information to an Unauthorized Actor Affecting kimai/kimai package, versions <2.13.0


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of concept
EPSS
0.04% (11th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-PHP-KIMAIKIMAI-6510790
  • published28 Mar 2024
  • disclosed28 Mar 2024
  • creditAstroGD

Introduced: 28 Mar 2024

CVE-2024-29200  (opens in a new tab)
CWE-1220  (opens in a new tab)

How to fix?

Upgrade kimai/kimai to version 2.13.0 or higher.

Overview

Affected versions of this package are vulnerable to Exposure of Sensitive Information to an Unauthorized Actor due to the inconsistent handling of permissions between the UI and its API. Specifically, the view_other_timesheet permission behaves differently across these interfaces, leading to the API divulging timesheet entries that a user should not have access to based on their team memberships. This discrepancy allows unauthorized access to sensitive information.

PoC

  1. Give a user view_other_timesheet permission

  2. The result of the UI and the API call to /api/timesheets?user=all differs in the data that is being returned

Curl command:

curl -X 'GET' \
  'https://kimai.instance.com/api/timesheets?user=all' \
  -H 'accept: application/json' \
  -H 'X-AUTH-USER: username' \
  -H 'X-AUTH-TOKEN: api_token'

CVSS Scores

version 3.1