自建协作文档的注意了:HedgeDoc 1.12.2 补上一批安全漏洞

摘要

HedgeDoc 1.12.2 修掉七个已公开的安全问题,涉及冒充登录、HTML 注入与实例崩溃,同日的 1.12.1 因 PostgreSQL 问题被官方撤回。

推荐
软件名称
HedgeDoc
版本
1.12.2
收费
免费
开源
开源
操作系统
Web
更新时间
2026-11-06 23:00
自建协作文档的人,最怕的不是功能不够,而是某天发现笔记链接能被别人冒名打开。HedgeDoc 1.12.2 修的就是这类问题。

HedgeDoc 是一款开源、跑在浏览器里、可以自己部署的实时协作 Markdown 编辑器,原名 CodiMD,2020 年因为重名改成了现在的名字,源码以 AGPL-3.0 许可发布。它的定位很朴素:把笔记链接发给同事,对方点开就能一起写,不用装客户端,数据留在自己的服务器上。2026 年 11 月 4 日,它接连放出了 1.12.1 和 1.12.2 两个补丁版本。

一天两版,先发的那个被撤了

1.12.1 和 1.12.2 都是 11 月 4 日发布的,但官方在 1.12.1 的页面上挂了一条提示:由于在 PostgreSQL 上使用时出现了一些问题,这个版本被撤回,请改用 1.12.2。1.12.2 本身的修复项只有一条,就是解决 profile provider 迁移在 PostgreSQL 上失败的问题。换句话说,如果你已经升到 1.12.1 又用的是 PostgreSQL,那么升到 1.12.2 不是可选项。

真正值得花时间看的是 1.12.1 里那批安全修复。它们对应七个已经公开的公告,覆盖的是权限、认证与内容渲染三条最容易出事的链路。

HedgeDoc editor interface
左侧源码、右侧预览的分栏界面

七个公告都在修什么

第一处是冒充登录。当两个认证提供方给出相同的 profile id 时,存在冒用他人身份的可能。这类问题在多提供方并存的自建实例里尤其需要注意,因为管理员往往会同时接公司账号体系和外部登录。

第二处是实时协作代码的崩溃:一个非法的选择操作就能让协作通道挂掉。第三处是幻灯片视图可以嵌入未转义的 iframe,等于给 HTML 注入留了口子。第四处和邮箱有关,攻击者可以通过响应时间的差异判断某个邮箱地址是否在这个实例上注册过,属于典型的时序侧信道。第五处是无效权限下的权限强制缺失,第六处是利用特制的用户显示名做 HTML 注入。第七处更直接:已登录用户只要用一个特定的笔记别名,就能把整个实例弄崩。

官方在说明里还补了一句,另外还有若干处 HTML 注入的可能被一并修掉。对自建实例来说,这一串加起来的分量不小——它们大多不需要管理员权限,只需要一个账号,甚至只需要能打开分享链接。

HedgeDoc instance home page
实例首页的登录与新笔记入口

顺手加的两个小东西

功能侧这次没有大动作,但有两个改动值得一提。一个是新增了配置项,允许 OAuth2 或 OIDC 提供方直接给出头像地址,不用再一律回退到系统生成的那个默认头像,统一登录的团队会感觉顺眼一些。另一个是把 mermaid 升到了 11.17,图表类型的支持范围跟着扩大。运行时这边,1.12.0 起最低要求 Node 20.17,1.12.1 起官方也测试并正式支持了 Node 26,还在用旧运行时的部署该把升级排进计划了。

它本身是个什么样的工具

功能上它把力气集中在 Markdown 这一件事上:多人同时编辑同一份文档、改动实时同步,演示模式可以把一篇笔记直接讲成幻灯片,流程图与各类图表能在文档里嵌出来,笔记权限用一个下拉框就能调成公开、仅登录可见或指定人可见,修订历史则记录每一次改动并允许回退到任意旧版本。系统资源占用不高,官方说在树莓派上也能跑得动,部署包和容器镜像都是现成的。

账号体系可以对接 OAuth2、LDAP、SAML 这些常见方案,文件存储除了本地还支持对象存储。这套组合的意义在于,团队不必为了一个协作文档工具再养一套账号和一套数据孤岛。

OAuth application settings
对接第三方登录需先登记应用

升级之前该做的两件事

先备份数据库。这次的问题恰好出在 PostgreSQL 上的迁移环节,1.12.1 的教训说明升级路径本身也可能带坑,一份可回滚的备份比任何操作指南都有用。然后确认运行时的版本,Node 20.17 是底线,低于它的环境在升级后会直接起不来。

至于要不要现在升,判断标准其实很简单:只要你的实例对外开放、允许注册或者允许通过链接分享笔记,这七个公告里至少有三四条与你直接相关,那就别拖。反过来,如果实例只在内网、只对固定几个人开放,风险窗口会小一些,但也没到可以放着不管的程度。

HedgeDoc 这次的两个版本没有带来任何让人兴奋的新功能,它们做的是把一扇扇没关严的窗户逐个关上。自建工具的好处是数据在自己手里,代价也在这里——补丁得自己去打。
HedgeDoc下载地址
支持的操作系统: Web