Skip to content

공개 프로필 Solutions 탭이 뷰어 본인 데이터를 표시 (SolutionsList가 userId 무시) #731

Description

@thxforall

증상

공개 프로필(/profile/[userId])의 Solutions 탭이 대상 유저가 아니라 로그인한 뷰어 본인의 solutions를 표시한다.

원인

packages/web/lib/components/profile/SolutionsList.tsx:30userId prop을 무시하고 getMySolutions({ page: 1, per_page: 24 })(self-scoped 'my solutions' 엔드포인트)를 호출. PublicProfileClient(app/[locale]/profile/[userId]/PublicProfileClient.tsx)가 <SolutionsList userId={userId} />로 렌더하지만 prop이 사용되지 않음.

영향

  • 데이터 정합성 버그: 타 유저 공개 프로필 Solutions 탭에 뷰어 자신의 데이터가 잘못 표시됨.
  • ⚠️ 단, 대상 유저의 비공개 데이터 노출은 아님(뷰어 본인 데이터가 뷰어에게만 보임).

발견 경위

Locale P2 Phase 1b Task 4(profile → app/[locale]/ 이동) 보안 리뷰 중 발견. 이 마이그레이션과 무관한 선재 버그(SolutionsList는 PR #730에서 미수정). 별도 추적용 등록.

수정 방향

SolutionsListuserId로 대상 유저의 solutions를 조회하도록 변경, 또는 공개 프로필에서 Solutions 탭이 뷰어 데이터로 resolve되지 않도록 처리.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions