CVE-2026-33978Notesnook是一款注重隐私和易用性的笔记应用。在3.3.17版本之前,该应用在移动端分享和网页剪藏流程中存在一个存储型跨站脚本(XSS)漏洞。攻击者可以通过控制分享的元数据(如Android/iOS的TITLE/SUBJECT或链接预览标题)注入恶意HTML代码。当受害者在Notesnook中打开分享流程并选择网页剪藏时,这段恶意代码会被插入到生成的HTML中,并在移动端编辑器的WebView内执行,从而导致安全风险。
该漏洞的根本原因在于Notesnook移动端应用在处理Web Clip功能时,未能对外部传入的元数据进行严格的输入验证和输出转义。具体而言,攻击者可以利用Android/iOS分享机制中的元数据字段(如TITLE或SUBJECT),或者通过操纵链接预览数据,注入恶意的HTML片段。Notesnook应用在接收到这些数据后,直接将其字符串拼接到HTML文档结构中,并使用`innerHTML`属性在移动端编辑器的WebView组件内进行渲染。由于开发人员没有使用安全的DOM操作方法(如`textContent`或`innerText`),也未实现HTML实体编码,导致攻击者注入的脚本标签(如`<img src=x onerror=...>`)被WebView中的JavaScript引擎解析并执行。这种漏洞类型结合了存储型和DOM型XSS的特征,恶意载荷会持久化保存在生成的剪藏内容中。一旦受害者打开特定的笔记或编辑界面,攻击者即可在受害者设备的上下文中执行任意JavaScript代码,进而窃取敏感笔记数据、劫持用户会话或进行进一步的攻击。