CVE-2026-45148SiYuan是一款广受欢迎的开源个人知识管理系统。在3.7.0版本之前,系统存在严重的访问控制失效漏洞。攻击者利用该漏洞,可以在发布模式下,通过`searchAsset`、`searchTag`、`searchWidget`及`searchTemplate`等接口,绕过权限验证。这允许仅具有读者权限的用户枚举并获取那些本应对发布服务不可见文档的元数据信息,造成信息泄露风险。官方已在3.7.0及以后版本中修复此问题,建议用户尽快升级。
该漏洞的根源在于SiYuan知识管理系统在处理发布模式下的API请求时,未能实施严格的访问控制策略。具体而言,系统在处理`searchAsset`、`searchTag`、`searchWidget`和`searchTemplate`这几个关键接口时,错误地允许了低权限的“读者”角色访问超出其权限范围的数据。在标准的权限模型中,发布服务应当仅向外部暴露已明确标记为公开的文档及其元数据。然而,漏洞代码在查询数据库或检索索引时,未将当前用户的权限上下文与文档的可见性属性进行有效绑定。攻击者可以通过向这些端点发送特制的HTTP请求,遍历系统内部的资源标识符。这种元数据枚举攻击能够泄露私有文档的存在性、标签分类、使用的组件模板以及附件列表等敏感信息。虽然攻击者无法直接获取文档正文,但泄露的元数据足以辅助进行更精准的后续攻击,破坏了系统的数据隔离原则。