Skip to content

본인 소유 검증 누락으로 인한 멤버/디바이스 권한 이슈 #67

@jhan0121

Description

@jhan0121

🤔 오류 내용

요구사항은 본인만 조회, 본인 소유 디바이스만 삭제인데 기존 구현에서 아래 문제 존재 확인

  • GET /api/v1/membersemail 파라미터에 의존해 타 계정 조회 가능
  • DELETE /api/v1/device가 디바이스 식별자만으로 삭제되어 소유권 검증 누락

기대하는 성공 상황

  • GET /api/v1/membersX-Device-Id 기반으로 인증된 본인 정보만 조회
  • email 입력이 있어도 권한 판단에 사용하지 않음
  • DELETE /api/v1/device는 요청자 본인 소유 디바이스만 삭제 가능
  • 본인 소유가 아니면 404 또는 정책에 맞는 에러로 거절

🚩 오류 발견 위치

  • MemberController
  • DeviceController
  • MemberService
  • MemberFindInput
  • DeviceDeleteInput`

⚠ 에러 캡쳐

  • stack trace 기반 장애보다는 권한 검증 누락에 따른 동작 이슈.
  • 재현 단계
  1. 타 사용자 email/api/v1/members 요청 시 정보 조회 가능
  2. 타 사용자 디바이스 identifier/api/v1/device 삭제 요청 시 삭제 가능

📆 버그 수정 계획

  • 멤버 조회 기준을 X-Device-Id로 고정
  • 디바이스 삭제 시 요청자-디바이스 소유권 검증 추가
  • email은 하위 호환 입력으로만 유지하고 권한 판정에는 미사용
  • 관련 테스트 및 API 문서 갱신

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions