CVE-2026-34600Joplin是一款开源笔记和待办事项应用程序。在3.5.2及之前版本中,delta API存在逻辑错误。该漏洞允许共享接收者下载已不再与其共享的笔记。具体而言,当启用DELTA_INCLUDES_ITEMS时,系统会将项目的最新状态附加到增量输出中,而未验证这些项目是否仍与请求用户共享。此外,变更压缩逻辑错误地将“创建-删除”操作缩减为“NOOP”,导致删除操作被丢弃。结果,delta API返回已删除项目的创建事件并附带完整内容,从而暴露了用户无权访问的笔记信息。
该漏洞的核心在于Joplin服务器端的ChangeModel.delta方法处理共享权限验证时的逻辑缺陷。首先,当DELTA_INCLUDES_ITEMS选项启用(默认开启)时,API在生成增量输出时,会直接附加项目的最新内容,但缺乏对该项目当前共享状态的二次校验。这意味着,即使管理员撤销了某用户的访问权限,如果该用户获取了包含该笔记内容的delta响应,仍可读取数据。其次,变更压缩算法存在严重缺陷。系统旨在通过压缩“创建-删除”对来优化传输,将其视为NOOP(空操作)。然而,由于压缩是按页进行的,如果一个笔记的早期“创建”事件位于上一页,而随后的“创建-删除”对位于当前页,压缩逻辑会错误地删除“删除”操作,仅保留“创建”操作。攻击者作为共享接收者,只需调用delta API并解析响应,即可获取本应被撤销访问权限的笔记完整内容,导致敏感信息泄露。