🇰🇷 한글 설명
Kimai 오픈소스 시간 추적 애플리케이션의 2.57.0 미만 버전에서 발생하는 취약점입니다. 인증된 사용자가 권한이 없는 프로젝트 식별자를 입력하여 팀 접근 제어를 우회하고, 다른 팀의 프로젝트에 타임시트를 할당하거나 관련 메타데이터를 탈취할 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 자신이 속하지 않은 다른 팀의 프로젝트 정보를 몰래 수정하거나 훔쳐볼 수 있는 보안 결함입니다. 이로 인해 프로젝트 이름이나 고객 정보 같은 민감한 데이터가 노출될 수 있습니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
Kimai version < 2.57.0
⚔️ 공격 벡터
인증된 사용자가 API 요청 시 조작된 프로젝트 ID를 전송하여 접근 제어 로직을 우회함
🛡️ 대응 방법
Kimai를 최신 버전인 2.57.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 2.57.0 미만이면 취약한 상태입니다.
php bin/console --version | grep -E 'Kimai' | awk '{print $NF}'