自分で置く共作の記録なら注意、HedgeDoc 1.12.2 が公開済みの穴をまとめてふさぐ

要約

記録のリンクが他人の名前で開けてしまう、というのが自分で置く場合のいちばん怖いところです。1.12.2 と取り下げられた 1.12.1 で、なりすましの入り込みから描画の差し込み、入った人なら誰でも起こせる停止まで七つの問題をふさぎました。

おすすめ
ソフト名
HedgeDoc
バージョン
1.12.2
料金
無料
オープンソース
オープンソース
OS
Web
公式サイト
https://hedgedoc.org/
更新日時
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 の二つの手直し版が続けて出た。

一日に二つ、先に出たほうは取り下げられた

どちらも 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 に入った安全の修正のまとまりだ。七つの公開された告知に対応し、権限、認証、内容の描画という、いちばん事故の起きやすい三つの筋を押さえている。

左に源、右に仕上がりを並べた画面
左に源、右に仕上がりを並べた画面

七つの告知が直しているもの

一つ目は成りすましの入り込みだ。二つの認証の出どころが同じ profile id を返すと、他人の身元として扱われうる。これは複数の出どころを並べた自分の置き場でこそ重い。担当者は会社の身元の仕組みと外部の入り口を同時につなぐことが多いからだ。

二つ目は共作の仕組みの停止で、不正な選択の一つで共作の通り道が落ちる。三つ目はスライドの表示が、逃がしていない枠を埋め込めるもので、HTML の差し込みに隙を残す。四つ目は郵便のあて先に関わり、返事の時間の差から、あるあて先がその置き場に登録されているかを読み取れる。時間を手がかりにする典型的な脇道だ。五つ目は無効な権限のときに権限の強制が抜けること、六つ目は作り込んだ表示名による HTML の差し込み。七つ目はもっと直接的で、入り込んだ人が特定の記録の別名を使うだけで置き場ごと落とせる。

告知の文には、ほかにもいくつかの HTML の差し込みの可能性をまとめてふさいだ、と添えてある。自分の置き場にとって、これらを合わせた重さは小さくない。多くは管理者の権限を要さず、アカウントが一つあれば足り、場合によっては共有のリンクを開けるだけで済む。

置き場の最初の画面と入り口
置き場の最初の画面と入り口

ついでに足された二つ

機能の側に大きな動きはないが、二つの変更は触れておきたい。一つは設定の項目が増え、OAuth2 や OIDC の出どころが画像の住所をそのまま出せるようになった。すべてが作られる既定の画像に戻る必要がなくなり、入り口を一つにまとめたチームには見栄えが良くなる。もう一つは mermaid を 11.17 に上げたことで、図の種類の幅が広がった。動かす土台については 1.12.0 から Node 20.17 が最低線で、1.12.1 からは Node 26 も試したうえで正式に支えるとしている。古い土台のままの配備は、更新を予定に入れたほうがよい。

そもそもどんな道具か

中身としては力を Markdown という一点に集めている。複数の人が同じ記録を同時に書き、変更はその場で行き渡る。発表の様式に切り替えれば、一つの記録をそのままスライドとして話せる。流れの図やさまざまな図を記録の中に埋め込める。記録の権限は選ぶ欄一つで、公開、入った人だけ、指定した人だけに変えられる。変更の履歴は毎回の書き換えを残し、どの古い版へも戻せる。使う資源は多くなく、小さな基板でも動くと企画側は話しており、配備のまとめも入れ物の像もそろっている。

アカウントの仕組みは OAuth2、LDAP、SAML といったよくあるやり方につなげられ、ファイルの保管は手元だけでなく物を置く倉庫にも対応する。この組み合わせの意味は、共作の記録の道具のために二つ目のアカウントの仕組みと二つ目の孤立したデータを抱えなくて済むことにある。

外部の入り口をつなぐ前に登録がいる
外部の入り口をつなぐ前に登録がいる

上げる前にやっておく二つ

まずデータベースを控える。今回の問題はまさに PostgreSQL での移行の段で起きた。1.12.1 の教訓は、上げる道そのものが罠を抱えうるということだ。戻せる控えは、どんな手引きよりも役に立つ。次に動かす土台の版を確かめる。Node 20.17 が下限で、それより低い環境は上げた後に起動しない。

いま上げるべきかどうかは簡単に見分けられる。置き場が外に開いていて、登録を許すか、リンクで記録を共有できるようにしているなら、七つの告知のうち少なくとも三つ四つは直接あてはまる。ならば延ばさないほうがよい。逆に内側の網だけで、決まった数人しか使わないなら、危ない幅は小さい。それでも放っておいてよい程度ではない。

今回の二つの版は、胸を躍らせる新機能を何も連れてこなかった。やったのは、きちんと閉まっていなかった窓を一つずつ閉めることだ。自分で置く利点はデータが手元にあることで、代償もそこにある。修正は自分で当てなければならない。
HedgeDocダウンロード
対応OS: Web