Skip to content

예약 취소 API에서 권한 검증 누락 (IDOR 취약점) #353

@coderabbitai

Description

@coderabbitai

문제 설명

웨이팅 취소 기능(WaitingService.cancelWaiting)에서 예약 번호만으로 예약을 조회하고 취소 처리하고 있어, 다른 사용자의 예약도 취소할 수 있는 보안 취약점(IDOR - Insecure Direct Object Reference)이 존재합니다.

위치

  • 파일: nowait-app-user-api/src/main/java/com/nowait/applicationuser/waiting/service/WaitingService.java
  • 메서드: cancelWaiting
  • 라인: 131-138

위험도

🔴 Critical - 인증된 사용자가 다른 사용자의 예약을 취소할 수 있는 권한 상승 취약점

필요한 조치

예약 조회 시 또는 조회 후에 다음을 검증해야 합니다:

  • 예약의 storeId가 요청된 storeId와 일치하는지
  • 예약의 userId가 현재 인증된 사용자의 ID와 일치하는지

일치하지 않을 경우 ReservationNotFoundException 또는 적절한 권한 오류를 발생시켜야 합니다.

관련 링크

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions