Skip to content

security: 비활성화한 면접 공유 링크가 fallback으로 다시 공개되는 문제 수정 #8

Description

@co2plant

우선순위: P1

기존 종합 이슈 #3에서 언급된 항목을 보안 수정 단위로 분리함.

현재 문제

src/lib/interviews.ts는 활성 DB 행을 찾지 못하면 환경변수와 .private/interviews의 fallback 데이터를 조회함. 같은 shareId의 DB 행을 비활성화해도 fallback에 데이터가 남아 있으면 공유 페이지가 계속 노출됨.

영향

폐기한 비공개 공유 URL을 계속 열 수 있어 링크 revocation이 동작하지 않음.

기대 동작

  • 같은 shareId의 DB 행이 비활성 상태라면 fallback 조회 중단
  • 활성, 비활성, DB 미존재 상태 구분
  • fallback은 DB 행이 없는 레거시 데이터에만 제한

검증 방법

  • DB와 fallback에 같은 ID를 준비
  • DB 행 비활성화 후 fallback이 있어도 404 반환
  • DB 행이 없는 레거시 fallback 동작 확인
  • 수정 코드를 제거하면 테스트가 실패하는지 확인

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions