모든 공개 Notion 페이지가 모든 편집자의 이메일 주소를 유출

3 hours ago 3

(twitter.com/weezerOSINT)

  • 공개 Notion 페이지에서 편집자 UUID가 인증 없이 노출되며, 한 번의 POST 요청으로 이름·이메일·프로필 사진을 얻을 수 있음
  • 공개된 회사 위키나 문서에서는 해당 페이지를 편집한 직원 이메일 주소가 그대로 드러날 수 있으며, Notion Community 페이지에서도 13개 사용자 ID 중 12개 이메일 확인
  • 테스트에선 Notion 직원, svc-notion-prod@makenotion.com 같은 service account, 외부 계약자가 포함됐고, 별도 쿠키·토큰·인증 절차 없이 조회 가능
  • getLoginOptions도 무인증 호출 가능해 각 계정의 비밀번호 로그인 여부와 SSO 사용 여부 구분 가능
  • 이 문제는 2022년 신고 이후에도 수정되지 않은 상태이며, 공개 페이지를 널리 쓰는 조직에서는 PII 노출 위험이 큰 상태

재현 방식과 노출 정보

  • 공개 페이지의 권한 정보 안에서 Notion API가 편집자 UUID를 반환하며, 이 과정에 인증 불필요
  • Notion Community 페이지를 대상으로 블록 권한에서 13개의 사용자 ID를 확인했고, 이를 /api/v3/syncRecordValuesMain에 전달해 12개의 이메일 주소 확보
    • 반환 대상에는 Notion 직원, production service account인 svc-notion-prod@makenotion.com, 그리고 외부 계약자 포함
    • 모두 하나의 페이지만으로 확인된 결과
  • 별도 쿠키, 토큰, 인증 절차 없이 요청 가능

영향과 추가 위험

  • Notion 페이지가 회사 위키, 채용 게시판, 공개 문서, 온보딩 가이드 등 다양한 형태로 널리 사용되고 있음
  • site: notion.site 검색으로 수천 개의 공개 페이지를 찾을 수 있음
  • 이러한 공개 페이지마다 인증 없는 API 호출 하나로 편집자 이메일 주소 노출 가능
  • 500명 직원이 있는 엔터프라이즈 워크스페이스가 공개 페이지를 공유할 경우, 한 번의 요청으로 500개의 회사 이메일 주소를 얻을 수 있음
  • rate limiting 없음, 한 번에 50명씩 배치 처리 가능함
  • getLoginOptions 역시 인증 없이 호출 가능
  • 이를 함께 사용하면 각 계정이 비밀번호 로그인을 쓰는지 SSO를 쓰는지 구분 가능
  • 이 조합이 credential stuffing의 무료 타깃 목록으로 이어질 수 있음
  • 최초 제보는 2022년 7월 28일 HackerOne에 접수
  • 이후 약 4년 가까이 수정되지 않았음
  • 동일한 문제를 별도로 다시 찾아 신고했으나 중복 처리
  • 다시 테스트한 결과도 동일 엔드포인트, 무인증 상태, 이메일 반환 유지
  • HackerOne에서는 해당 제보를 informative로 분류했으며, 원문 기준 CVE 부여 없음, 버그 바운티 없음
  • 고객 PII 노출 상태로 규정
  • 공개 Notion 페이지를 사용하는 팀은 공유 설정 점검이 필요함
Read Entire Article