🇰🇷 한글 설명
Kimai 웹 기반 다중 사용자 시간 추적 애플리케이션에서 권한 불일치로 인해 발생하는 취약점입니다. 'view_other_timesheet' 권한 설정 시 UI에서는 팀 내 데이터만 보이지만, API를 통해서는 팀 소속 여부와 관계없이 모든 타임시트 데이터가 노출됩니다.
💡 쉬운 설명
사용자 권한이 웹 화면과 데이터 통로(API)에서 서로 다르게 작동하는 문제입니다. 이로 인해 권한이 없는 사용자가 API를 이용해 다른 사람의 모든 업무 기록을 몰래 볼 수 있습니다.
🇺🇸 원문 (English)
Kimai is a web-based multi-user time-tracking application. The permission `view_other_timesheet` performs differently for the Kimai UI and the API, thus returning unexpected data through the API. When setting the `view_other_timesheet` permission to true, on the frontend, users can only see timesheet entries for teams they are a part of. When requesting all timesheets from the API, however, all timesheet entries are returned, regardless of whether the user shares team permissions or not. This vulnerability is fixed in 2.13.0.
📍 영향받는 시스템
Kimai 2.13.0 미만 버전
⚔️ 공격 벡터
API 요청을 통해 권한 범위를 벗어난 전체 타임시트 데이터 탈취
🛡️ 대응 방법
Kimai를 최신 버전인 2.13.0 이상으로 업데이트
🔧 검증 코드
출력된 버전 정보가 2.13.0 미만인지 확인하여 취약 여부를 판단합니다.
curl -s http://<target-ip>/kimai/version | grep -E '2\.[0-1][0-9]' || echo 'Check version manually'