API invoice endpoint missing customer-level access control (IDOR)

Affected versions

Description

Kimai contained an insecure direct object reference in the API invoice endpoint. In affected versions, the single-invoice API endpoint checked only the general invoice permission and did not verify that the requesting user had access to the invoice customer.

As a result, users with invoice viewing permissions could access invoices that belonged to customers outside their own team scope.

This issue affected customer-level access control for invoice retrieval through the API.

Solution

A permission checks was added to verify that customer access is also granted.

Users should update to 2.51.0 or newer.

Credits

First reported in GitHub advisory: GHSA-v33r-r6h2-8wr7

Top