目次(4)

CVE-2026-120203
ドキュメント共有ツール ShowDoc の 2.8.14 から 3.9.5 まで(3.9.6 で修正)で、モック機能のテンプレートに含まれる mockjs の占位符が eval() で評価され、ログイン済みのユーザーが OS コマンドを実行できる不具合(CVE-2026-120203、CWE-94)が 10/31 に NVD へ公開されました。CVSS は v3.1 が 8.8、v4.0 が 8.7 の High です(どちらも CNA の値)。NVD の説明では、公式の Docker イメージではコマンドが root 権限で動きます。修正版 3.9.6 は 10/30 にリリース済みです。
何が起きるか
- NVD の説明によると、
MockController::addに、括弧をエスケープした形のテンプレートを保存し、続いてMockController::infoByKeyで呼び出すと、mockjs がeval()で評価してシェルコマンドが走ります。 - 当サイトでは、修正コミット(5a2087a)の差分を読み、mockjs の占位符の引数が
evalに渡る面があるため、モックのサーバー(mock/index.js)と PHP 側(MockController)の両方に引数の許可リスト検査を入れたことを確認しました。v3.9.5 のmock/index.jsは、受け取った JSON を検査なしでMock.mockに渡していました。 - 修正では、モックのサーバーを低権限ユーザー(mockmock)で動かすよう Docker 側も変わっています。公開キーの生成も、予測可能な
md5(time().rand())からrandom_bytes(32)に変わりました。 - 実際の悪用の報告は確認できていません。CISA の KEV には載っていません(2026.10.30 版・1766 件で確認)。公開された概念実証の存在が参照に載っていますが、当サイトでは実行していません。
影響を受ける条件
| 項目 | 内容 |
|---|---|
| 対象 | ShowDoc 2.8.14 以上 3.9.6 未満(NVD の記載) |
| 前提 | 認証済みのユーザーで、モック機能を使えること(NVD の説明)。誰でもアカウントを作れる設定かは未確認 |
| 評価 | CVSS v3.1 は 8.8(High、AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)、v4.0 は 8.7。値は CNA の VulnCheck が付けたもので、NVD 自身の評価ではない。NVD の状態は「Received」(10/31 時点)。GitHub の勧告(GHSA-fm4v-42hr-rpgp)も High で同値、未レビュー |
| 弱点の分類 | CWE-94(コードの生成の不適切な制御) |
| 修正版 | 3.9.6(10/30 17:11 UTC リリース) |
対応
- ShowDoc を 3.9.6 以上に更新します。Docker で運用している場合は、新しいイメージを取得して作り直します。
- 更新できない間は、アカウントの作成を管理者に限る、モック機能を使うユーザーを絞る、モックのサーバー(既定のポート 7123)を外部に出さない、といった方法が考えられます(本記事の推定で、効果は検証していません)。
- 更新後は、既存のモックのテンプレートも
infoByKeyなどの呼び出し時に検査されます。許可リスト外の書き方のモックは、エラーになる可能性があります(修正コミットの内容に基づく推定)。
未確認の点
- 悪用の報告は確認できていません。KEV にも載っていません。
- NVD の評価は未実施(状態は Received)で、CVSS は CNA(VulnCheck)の値です。
- EPSS は FIRST にデータがなく、公開直後のため未算出です。
- 当サイトでは、実際のコマンド実行の再現をしていません。コードの変更内容の確認のみです。
- 2.8.14 より前の版が対象かは確認できていません。モック機能を使うのに必要な権限の範囲も確認していません。
- 3.9.6 のリリースノートに本件の記載があるかは確認できていません(本文は空でした)。
- 日付は、NVD の公開(2026-10-31 18:17 UTC)、GitHub のリリースとコミットの記録に基づきます。
この記事について
- 執筆・編集
- World Security 編集部
出典
- NVD CVE-2026-120203(NIST NVD)
- GitHub Advisory GHSA-fm4v-42hr-rpgp(GitHub)
- 修正コミット 5a2087a(GitHub)
- ShowDoc v3.9.6 リリース(GitHub)
- v3.9.5 の mock/index.js(GitHub)
- VulnCheck の勧告(VulnCheck)
- FIRST EPSS CVE-2026-120203(FIRST)




