IPBUF安全漏洞报告
English
CVE-2026-33978 CVSS 5.4 中危

CVE-2026-33978 Notesnook 存储型XSS漏洞

披露日期: 2026-04-01

漏洞信息

漏洞编号
CVE-2026-33978
漏洞类型
存储型XSS
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Notesnook

相关标签

XSS存储型XSSNotesnookWebView移动安全

漏洞概述

Notesnook是一款注重隐私和易用性的笔记应用。在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代码,进而窃取敏感笔记数据、劫持用户会话或进行进一步的攻击。

攻击链分析

STEP 1
步骤1
攻击者构造包含恶意HTML/JS代码的分享元数据(如修改链接预览的Title字段)。
STEP 2
步骤2
攻击者诱导受害者通过移动设备的系统分享菜单,将相关链接分享给Notesnook应用。
STEP 3
步骤3
受害者在Notesnook应用中选择“Web Clip”(网页剪藏)功能以保存内容。
STEP 4
步骤4
Notesnook应用在渲染剪藏界面时,直接将未经过滤的元数据拼接到HTML并使用innerHTML注入WebView。
STEP 5
步骤5
恶意脚本在受害者的Notesnook WebView上下文中执行,窃取数据或执行未授权操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-33978 --> <!-- This script simulates the vulnerable innerHTML concatenation --> <script> // Malicious payload injected via Android/iOS Share Title metadata var attackerControlledTitle = '</a><img src=x onerror=alert(1)>'; // Vulnerable function in Notesnook WebView (simplified) function vulnerableWebClipRenderer(title) { // The app concatenates the title directly into HTML var htmlContent = '<div class="clip-container"><a href="#">' + title + '</a></div>'; // The app renders this using innerHTML without sanitization document.getElementById('editor-webview').innerHTML = htmlContent; console.log("Payload executed via innerHTML:", htmlContent); } // Trigger the vulnerability vulnerableWebClipRenderer(attackerControlledTitle); </script> <div id="editor-webview"></div>

影响范围

Notesnook < 3.3.17

防御指南

临时缓解措施
建议用户立即检查并更新Notesnook应用至版本3.3.17或更高。在未完成更新前,请谨慎使用移动端分享和网页剪藏功能,特别是避免处理来源不明的链接分享请求。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表