目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1000

100.0%

CVE-2026-41571 — 神龙十问 AI 深度分析摘要

CVSS 9.4 · Critical

Q1这个漏洞是什么?(本质+后果)

🚨 **本质**:OIDC用户认证绕过。Note Mark 后端 `IsPasswordMatch` 函数存在逻辑缺陷,当用户无密码(如OIDC注册)时,回退使用硬编码占位符。后果:攻击者可伪造会话令牌,**完全接管账号**。

Q2根本原因?(CWE/缺陷点)

🔍 **根本原因**:CWE-287 (身份验证绕过)。缺陷点位于 `backend/db/models.go`。代码未正确处理无密码用户的边界情况,错误地使用了 `bcrypt("null")` 作为默认值,导致逻辑漏洞。

Q3影响谁?(版本/组件)

🎯 **影响范围**:产品 **Note Mark** (开源笔记应用),厂商 enchant97。受影响版本:**v0.19.2** 及之前版本。修复版本为 v0.19.3。

Q4黑客能干啥?(权限/数据)

💀 **黑客能力**:无需任何权限。只需向内部登录端点提交密码为 "null",即可获取目标OIDC用户的**合法会话令牌**。可读取笔记、修改数据,造成 **C:H/I:H** (高机密/高完整性) 泄露。

Q5利用门槛高吗?(认证/配置)

📉 **利用门槛**:**极低**。无需身份验证,无需用户交互 (UI:N),攻击向量网络 (AV:N),复杂度低 (AC:L)。任何人只要知道目标用户名,即可远程利用。

Q6有现成Exp吗?(PoC/在野利用)

📦 **Exp现状**:根据数据,`pocs` 字段为空,暂无公开 PoC 或确认的在野利用。但利用逻辑简单(发送 "null" 密码),编写 Exp 难度极低。

Q7怎么自查?(特征/扫描)

🔎 **自查方法**:检查后端代码 `backend/db/models.go` 中的 `IsPasswordMatch` 函数。搜索是否存在对 `bcrypt("null")` 或类似硬编码占位符的回退逻辑。扫描目标是否运行 v0.19.2 版本。

Q8官方修了吗?(补丁/缓解)

🛡️ **官方修复**:**已修复**。官方在 v0.19.3 版本中解决了此问题。参考链接:GitHub Release v0.19.3 及安全公告 GHSA-pxf8-6wqm-r6hh。

Q9没补丁咋办?(临时规避)

⚠️ **临时规避**:若无法立即升级,建议**禁用 OIDC 登录方式**,仅保留本地密码认证(并确保密码不为 "null")。或在前端/网关层限制对内部登录端点的访问,但这并非根本解决。

Q10急不急?(优先级建议)

🚨 **优先级**:**紧急 (Critical)**。CVSS 3.1 评分高,且无需认证即可远程利用。建议立即升级至 **v0.19.3** 或更高版本,防止账号被接管。