Skip to content

[BUG] S3 객체 삭제 시 타인의 오브젝트 삭제 취약점 해결 #179

@zjhj0814

Description

@zjhj0814

🐞 버그 내용

DB에 저장된 이미지 URL을 신뢰하고
이벤트 처리에서 URL -> key 추출 -> S3 deleteObject를 수행하는데
그 URL/Key가 해당 리소스(회원/클럽/클럽 공지) 소유인지 검증이 없음

즉 사용자가 입력한 URL이 곧 삭제 권한이 되는 구조라서, 공격자가 다른 사람 S3 오브젝트를 가리키는 URL을 본인에게 심으면 "업데이트/삭제" 같은 트리거로 타인의 오브젝트를 삭제할 수 있는 상황입니다.

🔄 재현 방법

💭 예상 결과 vs 실제 결과

예상:
실제:

✅ 해결 방법

  • unique key 생성 규칙에 소유자 정보 포함
    images/clubs/{uuid}/... -> images/clubs/{clubId}/...
  • 삭제 이벤트에 실행자 정보(clubId, memberId 포함)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions