公開日:2021/10/20 最終更新日:2021/12/16

JVN#41119755
Movable Type の XMLRPC API における OS コマンドインジェクションの脆弱性
緊急

概要

シックス・アパート株式会社が提供する Movable Type の XMLRPC API には、OS コマンドインジェクションの脆弱性が存在します。

影響を受けるシステム

  • Movable Type 7 r.5004 およびそれ以前 (Movable Type 7系)
  • Movable Type 6.8.4 およびそれ以前 (Movable Type 6系)
  • Movable Type Advanced 7 r.5004 およびそれ以前 (Movable Type Advanced 7系)
  • Movable Type Advanced 6.8.4 およびそれ以前 (Movable Type Advanced 6系)
  • Movable Type Premium 1.48 およびそれ以前
  • Movable Type Premium Advanced 1.48 およびそれ以前
開発者によると、すでにサポート終了をしたバージョンを含む、Movable Type 4.0 以降のすべてのバージョンが本脆弱性の影響を受けるとのことです。

【2021/12/16 追記】
本件を2021年10月20日に公表した時点では、影響を受ける製品は「Movable Type 7 r.5002 およびそれ以前 (Movable Type 7系)」、「Movable Type 6.8.2 およびそれ以前 (Movable Type 6系)」、「Movable Type Advanced 7 r.5002 およびそれ以前 (Movable Type Advanced 7系)」、「Movable Type Advanced 6.8.2 およびそれ以前 (Movable Type Advanced 6系)」、「Movable Type Premium 1.46 およびそれ以前」、「Movable Type Premium Advanced 1.46 およびそれ以前」と記載していましたが、修正が不十分であったことが確認されたためバージョン情報を更新しました。

詳細情報

シックス・アパート株式会社が提供する Movable Type の XMLRPC API には、OS コマンドインジェクション (CWE-78) の脆弱性が存在します。
Movable Type の XMLRPC API に細工したメッセージを POST メソッドで送信することで、任意の OS コマンドが実行可能となります。

【2021/11/10 追記】
2021年11月10日現在、本脆弱性の実証コードの公開と、本脆弱性を悪用した攻撃を確認しています。

想定される影響

遠隔の第三者によって、任意の OS コマンドを実行される可能性があります。

対策方法

アップデートする
開発者が提供する情報をもとに、最新版へアップデートしてください。
開発者は、本脆弱性を修正した次のバージョンをリリースしています。

  • Movable Type 7 r.5005 (Movable Type 7系)
  • Movable Type 6.8.5 (Movable Type 6系)
  • Movable Type Advanced 7 r.5005 (Movable Type Advanced 7系)
  • Movable Type Advanced 6.8.5 (Movable Type Advanced 6系)
  • Movable Type Premium 1.49
  • Movable Type Premium Advanced 1.49
ワークアラウンドを実施する
開発者によると、アップデートを適用できない場合には、Movable Type の設定ファイル mt-config.cgi に対して次の回避策を適用することで、本脆弱性の影響を軽減することが可能とのことです。
  • 現在 XMLRPC API を利用していない、または今後 XMLRPC API を利用しない場合
    • mt-xmlrpc.cgi へのアクセスを、信頼できる接続元のみに制限する
    • CGI/FCGI として利用している場合
      • mt-xmlrpc.cgi を削除、またはパーミッションを削除する
    • PSGI で利用している場合
      • Movable Type (Advanced) 6.2 以降および Movable Type Premium (Advanced)
        • mt-config.cgi に Movable Type 環境変数 RestrictedPSGIApp xmlrpc を設定する
      • Movable Type (Advanced) 5.2 から Movable Type (Advanced) 6.1 まで
        • mt-config.cgi で使用する Movable Type 環境変数 XMLRPCScript に十分に複雑な文字列を設定する
  • 継続して XMLRPC API を利用する場合
    • mt-xmlrpc.cgi へのアクセスを、信頼できる接続元のみに制限する
    • PSGI で利用している場合
      • mt-config.cgi で使用する Movable Type 環境変数 XMLRPCScript に十分に複雑な文字列を設定する
詳しくは、開発者が提供する情報をご確認ください。

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
シックス・アパート株式会社 該当製品あり 2021/12/16 シックス・アパート株式会社 の告知ページ

参考情報

  1. 情報処理推進機構(IPA)
    「Movable Type」の XMLRPC API における OS コマンド・インジェクションの脆弱性について(JVN#41119755)
  2. 株式会社ラック
    【注意喚起】Movable Typeの脆弱性を狙う悪質な攻撃を観測、至急対策を!

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
基本値: 9.8
攻撃元区分(AV) 物理 (P) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 低 (L)
必要な特権レベル(PR) 高 (H) 低 (L) 不要 (N)
ユーザ関与レベル(UI) 要 (R) 不要 (N)
スコープ(S) 変更なし (U) 変更あり (C)
機密性への影響(C) なし (N) 低 (L) 高 (H)
完全性への影響(I) なし (N) 低 (L) 高 (H)
可用性への影響(A) なし (N) 低 (L) 高 (H)
CVSS v2 AV:N/AC:L/Au:N/C:P/I:P/A:P
基本値: 7.5
攻撃元区分(AV) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 中 (M) 低 (L)
攻撃前の認証要否(Au) 複数 (M) 単一 (S) 不要 (N)
機密性への影響(C) なし (N) 部分的 (P) 全面的 (C)
完全性への影響(I) なし (N) 部分的 (P) 全面的 (C)
可用性への影響(A) なし (N) 部分的 (P) 全面的 (C)

謝辞

この脆弱性情報は、次の方が製品開発者に直接報告し、製品開発者との調整を経て、製品利用者への周知を目的に JVN での公表に至りました。
報告者: Étienne Gervais 氏、Charl-Alexandre Le Brun 氏、Chatwork株式会社

関連文書

JPCERT 緊急報告 JPCERT-AT-2021-0047
Movable TypeのXMLRPC APIにおける脆弱性(CVE-2021-20837)に関する注意喚起
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2021-20837
JVN iPedia JVNDB-2021-000093

更新履歴

2021/10/21
[参考情報] および [関連文書] を更新しました
2021/11/10
[緊急] 表示および [参考情報] を追加し、[詳細情報] を更新しました
2021/12/16
[影響を受けるシステム]、[対策方法]、[謝辞] を更新しました
2021/12/16
シックス・アパート株式会社のベンダステータスが更新されました