TL;DR

Mọi public Notion page đang lặng lẽ lộ PII (họ tên, email, ảnh profile) của tất cả người từng edit nó. Không phải zero-day, mà là hệ quả của thiết kế: Notion nhúng UUID của editor vào HTML public, rồi có một endpoint nội bộ /api/v3/syncRecordValuesMain cho phép resolve UUID → profile mà không cần auth, không cookie, không token. Một POST request là xong. Bug đã được disclose qua HackerOne từ 07/2022, bị Notion đóng là "informative". Đến 19/04/2026 mới bùng lên lại trên X và Hacker News, buộc Notion phải lên tiếng.

Public Notion pages exposing editor PII

Chuyện gì đang xảy ra

Ngày 19/04/2026, researcher @weezerOSINT đăng X: "every public Notion page is leaking the email addresses of everyone who edited it. zero authentication. no cookies. no tokens. one POST request returns full names, emails, and profile photos for every editor on the page." Post đạt 2.7K+ engagement trong vài giờ. Hacker News thread đứng top hôm sau.

Điểm gây phẫn nộ: đây không phải phát hiện mới. User đã report từ 2020 trên Reddit và support forum. Năm 2022 một researcher disclose chính thức qua HackerOne — Notion đóng ticket, classify "informative", không patch. Gần 4 năm trôi qua, hàng nghìn public page vẫn đang bị index và scrape.

Cơ chế rò rỉ

Khi bạn bật Share to web, Notion generate một HTML public. HTML đó chứa:

  • Editor UUID nhúng trong block permissions, thẻ <meta>, và các JS object.
  • Network request của page trả về JSON payload chứa email + profile photo của mọi editor.

Attacker chỉ cần mở DevTools, grab UUID, rồi gửi POST tới /api/v3/syncRecordValuesMain với UUID đó. Endpoint không có access control cho public page data, nên nó map thẳng UUID sang full profile trả về.

Root cause theo cộng đồng HN: UUID→email endpoint không biết context — nó không thể quyết định được có nên expose email hay không. Đáng lẽ Notion phải tách biệt public identifier và privileged identifier từ ngày đầu. Fix giờ đòi hỏi redesign cả layer, không phải "1-minute fix" như nhiều người tưởng.

Technical facts

Thuộc tínhGiá trị
Endpoint bị lạm dụngPOST /api/v3/syncRecordValuesMain
Auth requiredKhông — zero auth, zero cookie, zero token
InputEditor UUID từ public page HTML
OutputFull name, email address, profile photo URL
DiscoveryBrowser DevTools (HTML head + Network tab)
MITRE ATT&CKT1589.002 — Gather Victim Identity Information: Email Addresses
Disclose lần đầu07/2022 qua HackerOne (bị đóng "informative")
Public backlash19/04/2026 trên X và Hacker News

Ai bị ảnh hưởng & rủi ro thực tế

Mọi tổ chức dùng Notion public cho company wiki, public docs, open-source project board, roadmap, knowledge base đều bị ảnh hưởng. Một public wiki của công ty = directory email toàn bộ nhân viên từng đụng vào page đó.

Rủi ro cụ thể:

  • Phishing nhắm đích: attacker biết email + biết victim dùng Notion → dễ giả danh Notion hoặc đồng nghiệp.
  • Spam harvesting: bot scrape public page để build list spam.
  • Credential stuffing: email hợp lệ là entry point cho brute-force password trên các service khác.
  • Corporate recon: map toàn bộ nhân sự từ 1 public wiki duy nhất.

So với đối thủ

Cộng đồng HN chỉ ra Confluence không có lỗ hổng tương đương ở mức này. Decentralized competitor như Anytype miễn nhiễm về mặt kiến trúc — client giữ khóa, server chỉ giữ ciphertext, không tồn tại mapping UUID→identity ở sync layer để mà khai thác. GitHub từ lâu đã dùng email proxy (noreply) cho public commits — và đây chính là pattern Notion đang cân nhắc copy.

Bạn làm gì ngay bây giờ

  1. Audit ngay mọi public page: mở DevTools → Network tab → tìm JSON có @ hoặc domain email. Nếu page của bạn có email lộ, giả định là đã bị scrape.
  2. Duplicate & thu hẹp editor: nếu page buộc phải public, tạo bản copy và giảm editor xuống mức tối thiểu.
  3. Dùng alias email: cho public-facing content nhạy cảm, dùng Notion account riêng với email alias/noreply.
  4. Gỡ publish những page không thực sự cần public.

Phản hồi của Notion

Max Schoening (Notion) trả lời trên Hacker News: "This is documented and we also warn users when they publish a page. But, that's not good enough! We don't like this and are looking at ways to fix this either by removing the PII from the public endpoints or by replacing it with an email proxy similar to GitHub's equivalent functionality for public commits." Anh thừa nhận đây không phải fix 1 phút được.

Roadmap

Hai hướng fix Notion đang xem xét: (a) bỏ hoàn toàn PII khỏi public endpoint, hoặc (b) thêm email proxy kiểu GitHub noreply. Chưa có ETA. Trong lúc chờ, giả định mọi email trên public Notion page đều đã công khai.

Nguồn: Cyber Security News, GBHackers, Hacker News, Pixels & Pulse.