JVNに報告された脆弱性への対応について


a-blog cms で複数の脆弱性が見つかりました。 すでに問題に対応したバージョンはリリースしておりますので、該当のバージョン・状況に当てはまる場合は大変お手数ですが以下のご対応をお願いいたします。

JVN識別番号

  • JVN#34565930

今回は見つかった脆弱性は以下の3つです。

  • メディア機能の不適切な入力検証・クロスサイトスクリプティング
  • メディア機能のパストラバーサル・ディレクトリトラバーサル
  • フォームログのクロスサイトスクリプティング
  • エントリ編集のクロスサイトスクリプティング

メディア機能の不適切な入力検証・クロスサイトスクリプティング

内容

  • 攻撃者がCMSに投稿者以上でログイン
  • メディア機能を使って不適切なSVGファイルをアップロード
  • アップロードされたSVGのURLを踏むことにより、クロスサイトスクリプティングが発生。

攻撃条件

  • 攻撃者が、投稿者以上の権限でCMSにログインできること
  • メディア機能が利用できること
  • アップロードされた不適切なSVGファイルのURLを直接開くこと

影響を受けるバージョン

  • a-blog cms Ver. 3.1.6 以下のバージョン (Ver.3.1.x系)
  • a-blog cms Ver. 3.0.28 以下のバージョン (Ver.3.0.x系)
  • a-blog cms Ver. 2.11.57 以下のバージョン (Ver.2.11.x系)
  • a-blog cms Ver. 2.10.49 以下のバージョン (Ver.2.10.x系)
  • a-blog cms Ver. 2.9.0 以下のバージョン(フィックスバージョンはありません)

対応方法

各マイナーバージョン毎にフィックスバージョンがリリースしております。 「影響を受けるバージョン」 よりも新しいフィックスバージョンにアップデートを行なってください。


メディア機能のパストラバーサル・ディレクトリトラバーサル

内容

  • 攻撃者がCMSに投稿者以上でログイン
  • メディア機能のリクエストを改ざんすることで、任意のファイルを削除することが可能。

攻撃条件

  • 攻撃者が、投稿者以上の権限でCMSにログインできること
  • メディア機能が利用できること

影響を受けるバージョン

  • a-blog cms Ver. 3.1.6 以下のバージョン (Ver.3.1.x系)
  • a-blog cms Ver. 3.0.28 以下のバージョン (Ver.3.0.x系)
  • a-blog cms Ver. 2.11.57 以下のバージョン (Ver.2.11.x系)
  • a-blog cms Ver. 2.10.49 以下のバージョン (Ver.2.10.x系)
  • a-blog cms Ver. 2.9.0 以下のバージョン(フィックスバージョンはありません)

対応方法

各マイナーバージョン毎にフィックスバージョンがリリースしております。 「影響を受けるバージョン」 よりも新しいフィックスバージョンにアップデートを行なってください。

フォームログのクロスサイトスクリプティング

内容

  • 攻撃者がサイトのフォームを使用して不適切なリクエストを行う。
  • 管理者がCMSにログインして、フォームのログ確認画面に移動すると、クロスサイトスクリプティングが発生。

攻撃条件

  • フォームが設置されていること
  • フォームログを残す設定にしていること
  • 管理者が管理画面からフォームログを確認する

影響を受けるバージョン

  • a-blog cms Ver. 3.1.6 以下のバージョン (Ver.3.1.x系)
  • a-blog cms Ver. 3.0.28 以下のバージョン (Ver.3.0.x系)
  • a-blog cms Ver. 2.11.57 以下のバージョン (Ver.2.11.x系)
  • a-blog cms Ver. 2.10.49 以下のバージョン (Ver.2.10.x系)
  • a-blog cms Ver. 2.9.0 以下のバージョン(フィックスバージョンはありません)

対応方法

以下テンプレートの[raw]校正オプションを削除して修正ください。

themes/system/admin/form/log.html: 148行目

修正前

<td><p><a href="mailto:{mail_to}[raw]">{mail_to}</a></p></td>

修正後

<td><p><a href="mailto:{mail_to}">{mail_to}</a></p></td>

もしくは、各マイナーバージョン毎にフィックスバージョンがリリースしております。 「影響を受けるバージョン」 よりも新しいフィックスバージョンにアップデートを行なってください。

エントリ編集のクロスサイトスクリプティング

内容

  • 攻撃者が投稿者以上でログインし、エントリーの編集を行う。
  • テキストユニットで「ソース」や「マークダウン」に切り替え攻撃スクリプトを保存
  • エントリーを公開することで、クロスサイトスクリプティングが発生

攻撃条件

  • 攻撃者が、投稿者以上の権限でCMSにログインできること
  • 攻撃者が、エントリーを編集して公開できること

影響を受けるバージョン

  • a-blog cms Ver. 3.1.6 以下のバージョン (Ver.3.1.x系)
  • a-blog cms Ver. 3.0.28 以下のバージョン (Ver.3.0.x系)
  • a-blog cms Ver. 2.11.57 以下のバージョン (Ver.2.11.x系)
  • a-blog cms Ver. 2.10.49 以下のバージョン (Ver.2.10.x系)
  • a-blog cms Ver. 2.9.0 以下のバージョン(フィックスバージョンはありません)

対応方法

「影響を受けるバージョン」 よりも新しいフィックスバージョンにアップデートを行った後、以下対応を行います。

詳しくは以下記事をご参照ください。
https://developer.a-blogcms.jp/blog/news/specifications-change-vars.html

オプションの有効化

private/config.system.yaml に以下行を追記ください。

strip_dangerous_tag: on # on | off 変数から標準で危険なタグ(dangerous_tagsで指定)を削除するか指定

注意事項

上記のオプションを有効にすることで、エントリー編集でscriptタグiframeタグを保存できなくなります。 サイトの運用上、編集画面にJavaScriptを書いている場合もあると思いますので、サイトの運用方法を確認した上で有効にしてください。

また、意図してscriptタグiframeタグを保存したい場合もあると思います。(例えばアナリティクスのスクリプトなど) この場合は、該当の変数に [allow_dangerous_tag] オプションを付与ください。

■ 表示側の変数

{hoge}[raw|allow_dangerous_tag]

■ 編集画面の変数

<textarea name="hoge">{hoge}[allow_dangerous_tag]</textarea>

最後に

この度はご迷惑をおかけしてしまい大変申し訳ございません。
該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。 また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。 よろしくお願いいたします。

本件に関するお問い合わせ先

本件についてご不明点などありましたら以下のお問い合わせよりご連絡ください。

有限会社アップルップル
メールアドレス:info@a-blogcms.jp
お問い合わせフォーム:https://www.a-blogcms.jp/contact/

同じタグ付けがされている記事