11 điểm bởi GN⁺ 2 ngày trước | 3 bình luận | Chia sẻ qua WhatsApp
  • Trên trang Notion công khai, UUID của biên tập viên bị lộ mà không cần xác thực, và chỉ với một yêu cầu POST có thể lấy được tên, email, ảnh hồ sơ
  • Ở wiki công ty hoặc tài liệu được công khai, địa chỉ email của nhân viên đã chỉnh sửa trang đó có thể bị lộ nguyên vẹn; trên trang Notion Community cũng xác nhận được 12 email trong số 13 ID người dùng
  • Trong thử nghiệm có nhân viên Notion, service account như svc-notion-prod@makenotion.com, và cả nhà thầu bên ngoài; có thể truy vấn mà không cần cookie, token hay quy trình xác thực riêng
  • getLoginOptions cũng có thể được gọi mà không cần xác thực, nên có thể phân biệt từng tài khoản có dùng đăng nhập bằng mật khẩu hay SSO
  • Vấn đề này vẫn chưa được sửa dù đã được báo cáo từ năm 2022, khiến các tổ chức dùng rộng rãi trang công khai đối mặt với rủi ro lộ PII lớn

Cách tái hiện và thông tin bị lộ

  • Trong thông tin quyền của trang công khai, API của Notion trả về UUID của biên tập viên, và quá trình này không cần xác thực
  • Khi nhắm vào trang Notion Community, đã xác nhận được 13 ID người dùng trong quyền của block, rồi gửi chúng tới /api/v3/syncRecordValuesMain để lấy 12 địa chỉ email
    • Đối tượng được trả về bao gồm nhân viên Notion, production service accountsvc-notion-prod@makenotion.com, và nhà thầu bên ngoài
    • Tất cả đều được xác nhận chỉ từ một trang
  • Có thể gửi yêu cầu mà không cần cookie, token hay quy trình xác thực riêng

Tác động và rủi ro bổ sung

  • Trang Notion được dùng rộng rãi dưới nhiều dạng như wiki công ty, bảng tin tuyển dụng, tài liệu công khai, hướng dẫn onboarding
  • Có thể tìm thấy hàng nghìn trang công khai bằng tìm kiếm site: notion.site
  • Với mỗi trang công khai như vậy, chỉ cần một lệnh gọi API không cần xác thực là có thể làm lộ địa chỉ email của biên tập viên
  • Nếu một workspace enterprise có 500 nhân viên chia sẻ trang công khai, thì chỉ với một yêu cầu có thể lấy được 500 địa chỉ email công ty
  • Không có rate limiting, và có thể xử lý theo lô 50 người một lần
  • getLoginOptions cũng có thể gọi mà không cần xác thực
  • Kết hợp hai thứ này có thể phân biệt mỗi tài khoản đang dùng đăng nhập bằng mật khẩu hay SSO
  • Sự kết hợp này có thể trở thành danh sách mục tiêu miễn phí cho credential stuffing
  • Báo cáo ban đầu được gửi lên HackerOne vào ngày 28 tháng 7 năm 2022
  • Sau đó gần 4 năm vẫn chưa được sửa
  • Cùng một vấn đề này cũng được tìm lại và báo cáo riêng lần nữa nhưng bị xử lý là trùng lặp
  • Kết quả thử lại vẫn cho thấy cùng endpoint, trạng thái không xác thực, và vẫn trả về email
  • HackerOne phân loại báo cáo này là informative; theo bài gốc không có CVE, không có bug bounty
  • Đây được xem là tình trạng lộ PII của khách hàng
  • Các nhóm đang dùng trang Notion công khai cần kiểm tra lại cài đặt chia sẻ

3 bình luận

 
devsepnine 1 ngày trước

Từ sau khi chuyển từ Notion sang Obsidian thì cũng không còn dùng đến nữa..

 

Từ sau Notion AI thì đúng là... mình cũng chẳng còn biết nó là ứng dụng gì nữa rồi.
Không ngờ còn có cả chuyện thế này.

 
Ý kiến trên Hacker News
  • Tôi đã xác nhận trong trợ giúp chính thức rằng khi xuất bản một trang Notion công khai lên web, metadata có thể bao gồm tên, ảnh hồ sơ và địa chỉ email của những người đã đóng góp. Việc rò rỉ PII như vậy lại bị chôn vùi như một ghi chú mới là điều có vẻ nghiêm trọng hơn
    • Bản thân lỗi này đã rất vô lý, nhưng thái độ chấp nhận nó như thể by design còn khó tin hơn
    • Với tư cách là một người dùng Notion có dùng trang công khai, tôi thấy đây thật sự là một thiết kế vô lý
    • Tôi nhớ đã từng thấy chuyện tương tự xảy ra với RSS feed của một số CMS
  • Tôi là Max từ Notion, và vấn đề này đúng là đã được ghi trong tài liệu, đồng thời cũng có cảnh báo khi công khai, nhưng tôi cho rằng như vậy là chưa đủ. Hiện chúng tôi đang xem xét phương án loại bỏ dữ liệu cá nhân khỏi endpoint công khai hoặc thay thế bằng email proxy như các commit công khai của GitHub. Và khác với vẻ bề ngoài, đây không phải là bản sửa có thể xong trong 1 phút
    • Dù vậy, việc vấn đề này đã tồn tại 4 năm vẫn có cảm giác là quá lâu
    • Tôi vẫn tò mò không biết thực tế có câu cảnh báo nào hiện ra. Khi tôi tạo một trang công khai cách đây một tháng, tôi chỉ hiểu là nội dung trang sẽ được công khai chứ hoàn toàn không cảm nhận được rằng cả email của biên tập viên cũng sẽ bị lộ
    • Nhưng dù sao thì Notion chẳng phải đã có đủ hơn 1 phút để xử lý chuyện này rồi sao
    • Nhân tiện, tôi cũng muốn hỏi vì sao Notion trên Firefox lại chậm một cách cực độ như vậy
    • Việc nó đã được báo cáo từ năm 2022, và nhìn tính chất thì rõ ràng giống một lỗi hiển nhiên, nên tôi nghĩ việc kỳ vọng nó đã được sửa từ lâu không phải là phản ứng quá đáng
  • Tôi đã không dùng Notion một thời gian rồi quay lại xem, và dịch vụ từng khiến tôi muốn giới thiệu như một ví dụ về hypertext trước đây giờ lại trưng ra những câu như AI workplace hay AI everything app, nên tôi có cảm giác bản sắc của nó đã hoàn toàn thay đổi. Tôi thật sự tự hỏi đã có chuyện gì xảy ra
    • Tôi cũng không dùng nó trong vài năm, nhưng mỗi khi ở các công ty có ai đó quyết liệt thúc đẩy Notion và ép đội chuyển sang dùng, tôi lại thường thấy tốc độ làm việc giảm mạnh. Thậm chí còn có câu đùa rằng chỉ cần cử người sang công ty đối thủ để triển khai Notion là đã đủ gây phá hoại. Ấn tượng của tôi là đường cong học tập dài hơn dự kiến, và dù nó tiết kiệm thời gian cho một số ít người thúc đẩy — thường là PM hoặc vận hành — thì lại ép phần lớn mọi người vào kiểu quản lý lấy tính dễ đọc làm trung tâm. Khi những công việc lộn xộn nhưng phản ánh thực tế bị ép phải khớp vào bảng biểu sạch sẽ và các chế độ xem được sắp xếp gọn gàng, tôi có cảm giác một trạng thái đẹp mắt nhưng thiếu chính xác lan ra toàn bộ tổ chức
    • Notion đã định vị mình như một ứng dụng tích hợp cho công việc suốt nhiều năm rồi, và với một sản phẩm gộp cả quản lý dự án lẫn tài liệu hóa, việc AI được thêm vào cũng có vẻ là một hướng đi tự nhiên
    • Theo tiêu chuẩn của tôi, không phải là giờ đây Notion mới đánh mất ý nghĩa, mà ngay từ đầu nó đã là một ứng dụng muốn làm mọi thứ, và kết quả là một công cụ vừa phân tán vừa kém hiệu quả. Việc chồng thêm AI lên trên cũng chỉ là phần kéo dài của điều đó
    • Tôi muốn biết chính xác ý của cụm ví dụ về hypertext ở đây là gì
    • Tôi khá quen với Unix, nên thật ra tôi lại thấy hài lòng vì không cần phải dùng loại phần mềm như thế này trong đời sống hằng ngày
  • Tôi nhớ đây là vấn đề đã tồn tại ít nhất hơn 5 năm. Thực tế trước đây đã từng có người xem trang Notion của tôi rồi phá vỡ tính ẩn danh của tôi
    • Giờ tôi có cảm giác muốn giữ quyền riêng tư thì thật sự phải tách tài khoản và quản lý dấu vết ở mức OPSEC
  • Thời điểm thật kỳ lạ. Tôi vừa nhờ Claude so sánh Notion vs Obsidian rồi chuyển sang HN, và ngay lập tức thấy bài này nên khá thích thú
    • Mọi người đã đưa ra rất nhiều gợi ý hữu ích. Nhu cầu của tôi không phải là một đồ thị tri thức cá nhân mà là phục vụ việc xây ADU, nên tôi cần khá rộng: quản lý việc cần làm, bảng ý tưởng, bảng chi phí, danh sách đặt hàng và tài liệu. Xét ở khía cạnh đó, Notion vẫn có vẻ rất mạnh, còn các công cụ như Logseq, Obsidian, Joplin, Trilium, Craft thì tốt trong lĩnh vực riêng nhưng có vẻ hơi thiếu so với nhu cầu của tôi. Anynote trông ổn nhưng không có web client, còn Milanote có vẻ hợp hơn khi bảng ý tưởng chiếm tỷ trọng lớn. Cuối cùng, nếu không có vụ việc lần này thì tôi vẫn nghĩ Notion là một lựa chọn khá hấp dẫn
    • Nếu là kho tri thức cá nhân thì tôi muốn khuyên nên tránh xa các dịch vụ độc quyền. Tôi thích Logseq nhưng cũng ngày càng lo nó giống abandonware
    • Dự án của tôi là hyperclast cũng đáng để xem thử. Tôi cũng có một trang so sánh với Notion, Obsidian, v.v. được tổng hợp riêng
    • Tôi đang dùng Outline theo kiểu self-hosting. Có thể nó thiếu một số tính năng AI mới nhất, nhưng tôi cảm thấy gần như có đủ mọi thứ cần thiết cho một lựa chọn thay thế Notion
    • Tôi đã chuyển từ Obsidian sang Joplin vài năm trước, và vì nó hoàn toàn là FOSS lại có thể đồng bộ với instance Nextcloud cá nhân nên tôi rất hài lòng
  • Tôi nghĩ các công ty lớn cần phải coi trọng hơn vấn đề bảo mật và quyền riêng tư của người dùng lẫn nhân viên
    • Có lẽ cũng nên khiến hội đồng quản trị và cổ đông của các tập đoàn lớn không thể núp sau cấu trúc pháp lý, và phải chịu trách nhiệm tài chính cho các vấn đề như thế này
    • Tôi cho rằng doanh nghiệp chỉ hành động khi có lý do. Cuối cùng thì người dùng phải quan tâm hơn đến quyền riêng tư của chính mình và sẵn sàng đổi sản phẩm nếu cần. Chỉ trích suông sẽ không làm doanh thu lung lay, nên từ phía công ty sẽ chẳng có gì thay đổi đáng kể
    • Có vẻ sắp tới các công ty tư vấn sẽ quảng bá rằng họ có thể xử lý bao nhiêu lỗ hổng trên mỗi triệu token, còn các đội kỹ thuật thì sẽ chịu áp lực hợp nhất mã do AI sinh ra. Những dịch vụ đánh giá PR bảo mật và kiểm toán codebase ngốn nhiều token kiểu Dependabot hay SonarQube cũng có lẽ sẽ ngày càng nhiều hơn, và đây trông giống một thị trường nơi các đội nhỏ có thể nhanh chóng tạo ARR
    • Cuối cùng, tôi nghĩ muốn ngăn chặn nghiêm túc các vấn đề kiểu này thì cử tri phải bầu ra những chính trị gia và cơ quan quản lý sẵn sàng trừng phạt doanh nghiệp một cách thực chất
    • Thực tế thì tôi nghĩ doanh nghiệp chỉ nhìn vào lợi nhuận. Động lực tạo doanh thu càng sớm càng tốt, exit rồi chuyển sang startup tiếp theo có vẻ mạnh hơn nhiều
  • Tôi từng nghĩ đến một cấu trúc mà server gần như không lưu dữ liệu người dùng, mỗi người tự giữ dữ liệu của mình rồi chỉ materialize on-demand khi cần. Vì rất khó tránh rò rỉ do sai sót con người, tôi cảm thấy lời giải căn bản nhất là ngay từ đầu lưu ít đi. Tuy nhiên có rất nhiều bài toán khó như chi phí kết hợp dữ liệu nhóm, vấn đề tổng hợp phát sinh từ người dùng offline, ngăn client scraping, hay kiểm soát việc sửa đổi dữ liệu không được phép. Ví dụ tôi từng hình dung mô hình mỗi người dùng HN có một sqlite riêng và server sẽ lấy bài viết từ từng người, nhưng chỉ cần một người không khả dụng là kết quả đã có thể bị thiếu nên độ khó thực tế có vẻ rất cao
    • Tôi cũng thích ý tưởng đó, nhưng cuối cùng lại thấy rất dễ quay về hình thái giống hệ thống hiện tại. Người dùng có nhiều thiết bị nên rốt cuộc vẫn cần một dịch vụ đồng bộ, và khi độ phức tạp tăng lên thì lại giao cho bên thứ ba, từ đó quay về thế giới đăng nhập và quản lý dữ liệu kiểu FB, Google, Apple
  • Tôi dùng Notion rất nhiều và cũng đã làm vài tích hợp, nhìn chung đây là một ứng dụng tốt, dùng AI cũng ổn và vẫn đang tiếp tục cải thiện. Tôi thật sự muốn vấn đề lần này được sửa, và việc API gần đây cải thiện đáng kể đến mức hỗ trợ database views như đối tượng hạng nhất là điều đáng mừng. Dù vậy tôi vẫn còn thêm một vài mong muốn nhỏ với public API
  • Đó chỉ là một bài viết ngắn vài câu trên Twitter, nên tôi có chút thắc mắc liệu có nhất thiết phải dùng LLM để viết cả kiểu nội dung đó không
  • Ứng dụng Notion trên macOS là một trong những phần mềm tệ nhất tôi từng dùng. Tôi có cảm giác nó gần như phớt lờ mọi quy ước thiết kế của nền tảng
    • Tôi mong văn hóa ứng dụng bọc web kiểu này sớm biến mất. Tôi cảm thấy quá nhiều dịch vụ đang phá hỏng trải nghiệm người dùng theo cách đó
    • Tôi mới cài được khoảng một giờ mà service worker đã dùng tới 7GB ổ đĩa, thật sự rất bất ngờ. Tôi hầu như chưa tải file nào lên, nên không hiểu nó đang cache cái gì mà nhiều đến vậy
    • Rốt cuộc việc nó là Electron dường như đã giải thích tất cả
    • Thực ra tôi nghĩ đây không phải ứng dụng macOS thật sự mà gần như chỉ là một bản đóng gói của web app