零权限扒出邮箱,Notion高危漏洞4年还未修,1亿用户隐私裸奔
【导读】你以为分享的是工作文档,其实顺便给黑客发了一份精准的钓鱼通讯录。500强企业都在用的工具,安全性竟然全靠用户「自己看文档」?
你以为公开的只是文档,实际上被公开的,是每一位员工的邮箱信息!
不用登录,不用凭证,也不需要任何授权。只要一个POST请求,外部任何人就能直接拿到页面编辑者的姓名、邮箱和头像。
前几天,这条帖子在X上炸开了。

发帖人impulsive是一位独立安全研究员。
他选取了一个任何人都可访问的Notion公开页面。根据其说法,他从页面源码里提取了编辑者的用户ID,一共13个,请求无需任何认证。
随后,他向Notion的一个接口发了一个POST请求:不需要登录,不需要Cookie,也不需要任何权限。
接口最终返回了12个人的全名、邮箱和头像,其中既有 Notion 员工,也包括一个生产环境服务账号和一名外部承包商。

一个POST请求返回Notion员工全名、企业邮箱和头像,无需任何认证,来源:@weezerOSINT
全部信息都来自同一个公开页面、同一次请求,而且全程零认证。
随后,他又在X上发帖,完整展示了整个操作过程,他说道:
只要你公司的Notion页面是公开的,页面上每一位编辑者的邮箱,都可能被直接暴露出来。
更关键的是,这并不是什么高深的黑客技巧。
按照这位研究者的说法,通过搜索公开可访问的Notion页面,可以找到大量暴露在外的页面样本。
在这些公开页面中,部分页面的编辑者信息可能通过类似方式被进一步关联和查询。
他还提到,在某些场景下,如果一个大型企业工作区共享了公开页面,相关接口理论上可能一次返回更多企业邮箱;此外,该接口还疑似支持批量查询。
更离谱的是,这事Notion早就知道,早在2022年7月就有人通过HackerOne提交了邮箱隐私泄露的风险,将近四年也还未修复这个安全问题。
Notion全球用户超过1亿,超过半数财富500强企业在用。但这家估值110亿美元的公司,却仍让用户个人信息暴露在外。
帮助中心写了
但你看过帮助中心吗?
Notion帮助中心提到了,当你把Notion页面发布到网络时,你的姓名、头像和邮箱地址这些网页元数据,可能随之泄露。

但问题来了:你在Notion里点「Publish to web」的时候,有没有看到过任何弹窗告诉你「你的邮箱会被公开」?
研究院impulsive在使用全新账号测试发布流程时,界面中并未看到任何有关邮箱暴露风险的明确警示。

用户只需点击「分享」和「发布」,随后看到预览页和发布按钮,整个流程中没有显著提示相关个人信息可能被接口获取。
把风险写在帮助中心第N页的某个注释里,和在你按下发布按钮时弹一个红色警告框,是两种完全不同的事情。

按照Notion官方隐私说明,电子邮箱地址属于账户信息;而在其公开页面帮助文档中,Notion又明确提示网页元数据可能包含贡献者邮箱。
这意味着,同一类信息一边被Notion归入账户信息与隐私政策框架,一边又可能在公开页面场景下进入可公开访问的网页元数据,二者之间存在难以回避的冲突。
真正需要追问的,不只是这些邮箱是否已被大规模利用,而是Notion为什么会把本应纳入隐私保护框架的信息,设计进公开页面的暴露链路中。
这事2022年就有人报了
这并不是新问题。
研究者impulsive在帖子里提到:最初的报告是2022年7月通过HackerOne提交的。

Notion当时把这份报告标记为「informative」。
在HackerOne的分类体系里,这意味着:我们知道了,但不认为这是一个需要修复的安全问题。
这份报告至今仍然公开可查(编号2853023),标题就叫「Information Disclosure」(信息泄露)。

https://hackerone.com/reports/2853023
摘要里写道:
在一次安全评估中,研究人员发现邮箱地址暴露在公开可访问的位置,用curl等标准工具即可获取,不需要认证,也不需要任何特殊权限。
从报告提交到现在,将近四年。
四年里,Notion做了很多事:推出了AI功能、发布了Notion Mail、估值到了110亿美元、用户从2000万涨到了1亿。
可这个接口,仍然照常工作。
研究者impulsive最近复测时发现,同一个接口、同样零认证,用户邮箱依旧可以被直接获取。
你以为分享的是文档
其实附赠了一份通讯录
很多人会觉得:我的公开页面上又没写什么机密,暴露就暴露呗。
但泄露的重点不在于页面正文,而是你的身份。
想象一个场景:你们公司用Notion做了一个公开的产品帮助文档。
十几个同事参与编辑过。现在,任何人都可以用一个POST请求,拿到这十几个人的全名、工作邮箱和头像。
拿到这些信息能干什么?
发一封钓鱼邮件。
邮件里写着:「嗨,[你的真名],我是[你同事的真名],这个文档需要你重新审核一下,请点击这个链接。」
收件人看到同事的名字,看到自己确实编辑过那个文档,大概率就点了。
研究者impulsive还提到,可以通过另一个同样零认证的接口getLoginOptions,来判断一个邮箱是用密码登录还是SSO登录。
这意味着攻击者不仅能拿到你的邮箱,还能知道哪些账号可以直接用密码试着登录。
但即使不考虑这一点,光是「全名+企业邮箱+头像」这个组合,对定向钓鱼来说已经足够了。
你以为分享的是知识,其实你还附赠了一份团队花名册。
「我们做得不够好」
然后呢?
Notion员工Max Schoening在Hacker News上做了回应。

他主要说了两点。
第一,这个行为有文档记录,而且在用户发布页面时会有提醒;
第二,他们不喜欢这种现状,正在研究修复方案:要么从公开端点移除个人信息,要么像GitHub公共提交那样,用邮箱代理机制替代真实邮箱。
有人追问提醒长什么样。
Schoening贴出了一张截图:当用户开始向页面贡献内容时,会看到一条提示,大意是你的信息「可能变得可见」,他自己也觉得这样的提醒不够明显,会在接下来进行优化:

网友们对于这样的回应显然不买账。
有人说,这个警告过于模糊,「可能变得可见」听起来像Notion自己都不确定会不会暴露,完全是含糊其辞。
还有人指出,「任何能查看此页面的人」读起来像是「工作区里能看到这个页面的人」,根本不像是在说「互联网上的任何陌生人」。
Schoening说修复不是一分钟能搞定的事。底下立刻有人怼回去:Notion修复这个问题的时间肯定不止一分钟,你们已经有四年了。
有人更直接:考虑到这个问题早在2022年就被报告了,而且显然是个错误,要求它在现在这个时间点已经被修复,并不算过分。
Schoening对此回复了一句「同意,我们会做得更好。」
事实面前,这句承诺显然有些苍白。
一条高赞评论写道:你应该解释清楚为什么修不了,否则所有人的结论就是——你们明知四年来一直在泄露用户数据,却故意不采取任何措施。
有人干脆说道:这个问题四年前就被报告了,恕我不相信你说的任何一个字。

有人直接追问Schoening:这个问题会被优先处理并修复吗?
截至发稿,没有回答。
要注意,以上所有回应都来自一个员工在社交媒体上的个人发言,不是Notion的正式安全公告。
但它已经是目前唯一的官方口径了。至于「正在研究修复方案」,没有时间表。
如果你正在用Notion做公开页面,现在就值得去检查一下:这些页面是不是真的需要公开?编辑者列表里,有没有不应该被暴露的人?
Notion的帮助中心不会主动弹窗提醒你。
好在,你现在知道了。
参考资料:
https://x.com/weezerOSINT/status/2045849358462222720?s=20
https://news.ycombinator.com/item?id=47827283
声明:本文转载自新智元,转载目的在于传递更多信息,并不代表本社区赞同其观点和对其真实性负责,本文只提供参考并不构成任何建议,若有版权等问题,点击这里查看更多信息!
AI 中文社