- Pada halaman Notion publik, UUID editor terekspos tanpa autentikasi, dan dengan satu permintaan POST dapat mengembalikan nama, email, dan foto profil
- Pada wiki perusahaan atau dokumen yang dipublikasikan, alamat email karyawan yang mengedit halaman tersebut bisa terlihat apa adanya, dan di halaman Notion Community juga terkonfirmasi 12 email dari 13 ID pengguna
- Data yang dikembalikan mencakup karyawan Notion, service account seperti
svc-notion-prod@makenotion.com, serta kontraktor eksternal, dan dapat diakses tanpa cookie, token, maupun proses autentikasi terpisah
getLoginOptions juga bisa dipanggil tanpa autentikasi sehingga memungkinkan pembedaan apakah tiap akun menggunakan login kata sandi atau SSO
- Masalah ini dirangkum sebagai belum diperbaiki sejak dilaporkan pada 2022, dan organisasi yang luas menggunakan halaman publik menghadapi risiko paparan PII yang besar
Cara reproduksi dan informasi yang terekspos
- Dalam informasi izin halaman publik, API Notion mengembalikan UUID editor, dan proses ini tidak memerlukan autentikasi
- Pada halaman Notion Community, ditemukan 13 ID pengguna dari izin blok, lalu ID tersebut dikirim ke
/api/v3/syncRecordValuesMain untuk memperoleh 12 alamat email
- Data yang dikembalikan mencakup karyawan Notion, production service account
svc-notion-prod@makenotion.com, dan kontraktor eksternal
- Semua ini terkonfirmasi hanya dari satu halaman
- Permintaan dapat dilakukan tanpa cookie, token, atau prosedur autentikasi tambahan
Dampak dan risiko tambahan
- Disebutkan bahwa halaman Notion digunakan secara luas dalam berbagai bentuk seperti wiki perusahaan, papan lowongan kerja, dokumen publik, dan panduan onboarding
- Disebutkan bahwa pencarian
site: notion.site dapat menemukan ribuan halaman publik
- Untuk setiap halaman publik tersebut, satu panggilan API tanpa autentikasi dapat menyebabkan alamat email editor terekspos
- Jika workspace enterprise dengan 500 karyawan membagikan halaman publik, maka satu permintaan dapat memperoleh 500 alamat email perusahaan
- Juga disebutkan tidak ada rate limiting, dan pemrosesan batch 50 orang sekaligus dimungkinkan
getLoginOptions juga dapat dipanggil tanpa autentikasi
- Jika digabungkan, hal ini memungkinkan pembedaan apakah tiap akun memakai login kata sandi atau SSO
- Dikritik bahwa kombinasi ini dapat menjadi daftar target gratis untuk credential stuffing
- Laporan awal diajukan ke HackerOne pada 28 Juli 2022
- Disebutkan bahwa masalah ini belum diperbaiki selama hampir 4 tahun sejak saat itu
- Masalah yang sama juga ditemukan lagi dan dilaporkan secara terpisah, namun diproses sebagai duplikat
- Hasil pengujian ulang menunjukkan endpoint yang sama, tanpa autentikasi, dan pengembalian email tetap berlangsung
- Di HackerOne, laporan tersebut diklasifikasikan sebagai informative, dan menurut sumber aslinya tidak ada CVE maupun bug bounty
- Situasi ini dinilai sebagai paparan PII pelanggan
- Tim yang menggunakan halaman Notion publik berada dalam kondisi perlu memeriksa pengaturan berbagi
1 komentar
Komentar Hacker News