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


a-blog cms で複数の脆弱性が見つかりました。 該当の状況に当てはまる場合は大変お手数ですが以下のご対応をお願いいたします。


JVN識別番号

  • JVNVU#90760614

報告された脆弱性は以下になります。

  • 特定POSTモジュールのサーバーサイドリクエストフォージェリおよびクロスサイトスクリプティングの脆弱性
  • バックアップ機能のパストラバーサルの脆弱性

特定POSTモジュールのSSRFおよびXSS

内容

攻撃者が特定のPOSTモジュールに対して攻撃リクエストを送ることにより、SSRFまたはXSSが発生します。

攻撃条件

  • 特に条件なし

影響を受けるバージョン

  • a-blog cms Ver. 3.1.43 以下のバージョン (Ver. 3.1.x系)
  • a-blog cms Ver. 3.0.47 以下のバージョン (Ver. 3.0.x系)
  • a-blog cms Ver. 2.11.75 以下のバージョン (Ver. 2.11.x系)
  • a-blog cms Ver. 2.10.63 以下のバージョン (Ver. 2.10.x系)
  • a-blog cms Ver. 2.9.52 以下のバージョン(Ver. 2.9.x系)
  • a-blog cms Ver. 2.8.85 以下のバージョン(Ver. 2.8.x系)
  • a-blog cms Ver. 2.7.x 以下(v2.6, v2.0, v1.7 など全て)のバージョン(フィックスバージョンはありません)

ワークアラウンド(応急処置)

config.server.phpHOOK_ENABLE1 に設定します。

define('HOOK_ENABLE', 1);

extension/acms/Hook.php を修正します。

public function beforePostFire($thisModule)
{
    $thisModule->Post->delete('protocol'); // この行を追加
}

extension/acms/Hook.php が存在しない場合は、php/ACMS/User/Hook.php を修正します。

CMSバージョンアップによる対応

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

謝辞

当該脆弱性をご報告いただいた vcth4nh from VCSLab of Viettel Cyber Security (Vu Chi Thanh) 様に感謝申し上げます。

We appreciate the report of this issue by vcth4nh from VCSLab of Viettel Cyber Security (Vu Chi Thanh), which helped improve the security of this product.

バックアップ機能のパストラバーサルの脆弱性

内容

攻撃者が管理者権限でログインして、バックアップ機能に不正なリクエストを送信することで、パストラバーサルが発生します。

攻撃条件

  • 攻撃者が 管理者権限でログイン可能なこと(* 不正ログインされる脆弱性はありません)

影響を受けるバージョン

  • a-blog cms Ver. 3.1.42 以下のバージョン (Ver.3.1.x系)
  • a-blog cms Ver. 3.0.46 以下のバージョン (Ver.3.0.x系)
  • a-blog cms Ver. 2.11.x 以下(v2.10, v2.0, v1.7 など全て)のバージョン(フィックスバージョンはありません)

CMSバージョンアップによる対応

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

謝辞

当該脆弱性をご報告いただいた haidv35 (Dinh Viet Hai) at Viettel Cyber Security 様に感謝申し上げます。

We appreciate the report of this issue by haidv35 (Dinh Viet Hai) at Viettel Cyber Security, which helped improve the security of this product.

最後に

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

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

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

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

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

イメージビューアー(SmartPhoto)

Ver.2.8よりa-blog cmsには弊社で開発した画像拡大ライブラリであるSmartPhotoが組み込みJSとして利用できるようになりました。

デモ

使い方

以下のようにimgタグを内包したaタグにclass="js-smartphoto"と記述します。またdata-caption属性を適用することにより、拡大表示した際に画像の説明文を表示することが可能です。

<a href="/path/to/large-image" data-caption="a-blog cmsでどんどんWebサイトを更新しよう" class="js-smartphoto">
  <img src="/path" alt="" width="300">
</a>

Lazy Load とSmartPhotoを併用する場合

Lazyloadを使用して画像を遅延して読み込んでいる場合、SmartPhotoに src 属性ではなく data-src 属性を適用することが可能です。 その場合、以下のようにHTMLを記述します。

<a href="/path/to/large-image" data-caption="a-blog cmsでどんどんWebサイトを更新しよう" class="js-smartphoto">
  <img data-src="/path" alt="" width="300">
</a>

デフォルト設定

この機能の編集設定は、/js/config.jsの以下の箇所にあります。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。詳しくは「組み込みJSについて:設定を編集する」を参照してください。

  SmartPhotoConfig: {
  classNames: {
    smartPhoto: 'smartphoto',
    smartPhotoClose: 'smartphoto-close',
    smartPhotoBody: 'smartphoto-body',
    smartPhotoInner: 'smartphoto-inner',
    smartPhotoContent: 'smartphoto-content',
    smartPhotoImg: 'smartphoto-img',
    smartPhotoImgOnMove: 'smartphoto-img-onmove',
    smartPhotoImgElasticMove: 'smartphoto-img-elasticmove',
    smartPhotoImgWrap: 'smartphoto-img-wrap',
    smartPhotoArrows: 'smartphoto-arrows',
    smartPhotoNav: 'smartphoto-nav',
    smartPhotoArrowRight: 'smartphoto-arrow-right',
    smartPhotoArrowLeft: 'smartphoto-arrow-left',
    smartPhotoImgLeft: 'smartphoto-img-left',
    smartPhotoImgRight: 'smartphoto-img-right',
    smartPhotoList: 'smartphoto-list',
    smartPhotoListOnMove: 'smartphoto-list-onmove',
    smartPhotoHeader: 'smartphoto-header',
    smartPhotoCount: 'smartphoto-count',
    smartPhotoCaption: 'smartphoto-caption',
    smartPhotoDismiss: 'smartphoto-dismiss',
    smartPhotoLoader: 'smartphoto-loader',
    smartPhotoLoaderWrap: 'smartphoto-loader-wrap',
    smartPhotoImgClone: 'smartphoto-img-clone'
  },
  message: {
    gotoNextImage: ACMS.i18n('smartphoto.goto_next_image'),
    gotoPrevImage: ACMS.i18n('smartphoto.goto_prev_image'),
    closeDialog: ACMS.i18n('smartphoto.close_the_image_dialog')
  },
  arrows: true,
  nav: true,
  animationSpeed: 300,
  swipeOffset: 100,
  headerHeight: 60,
  footerHeight: 60,
  forceInterval: 10,
  registance: 0.5,
  resizeStyle: 'fit',
  verticalGravity: false,
  useOrientationApi: false,
  useHistoryApi: true,
  lazyAttribute: 'data-src'
}

多くの脆弱性修正したバージョンをリリース

多くの脆弱性修正したバージョンをリリース

この記事では、2025年4月30日にリリースされたバージョンについて紹介いたします。 今回りリースしたバージョンでは、多くの脆弱性を修正されております。お早めにバージョンアップのご検討をお願いいたします。

リリースしたバージョン

  • Ver. 3.1.44
  • Ver. 3.0.48
  • Ver. 2.11.76
  • Ver. 2.10.64
  • Ver. 2.9.52
  • Ver. 2.8.86

Ver. 3.1.44 リリースノート

修正点

  • CMS-7118 インクルードの変数にバックスラッシュが入った文字列を渡すと、変数が空になってしまう問題を修正
  • CMS-7119 jQuery の $.ajax() を利用するとクロスオリジンのリクエストでも X-Csrf-Token ヘッダーが付与されてしまう問題の修正
  • CMS-7120 バージョンの切り替え時(承認含む)、コメントがあった場合コメントが削除されてしまう問題を修正
  • CMS-7121 Category_Insert モジュールで SQL_Select::setOrder メソッドの第2引数に無効な値を指定している問題の修正
  • CMS-7123 カスタムフィールドのテキスト置換を行うとphpエラーが発生する問題を修正
  • CMS-7130 セキュリティ修正によりメディア変数 {hoge@thumbnail} への resizeImg 校正オプションが動作しなくなっている問題の修正
  • CMS-7131 静的書き出しで必要ない余分なリクエストを除外するように改善 & エントリー書き出しのインターバル時間を調整
  • CMS-7133 引用ユニットで、OGP画像のパスが長すぎると画像URLの保存に失敗し、画像が出力されない問題を修正
  • CMS-7134 非公開ユニットにリンクを追加するとモーダルが少し奥まっている問題を修正
  • CMS-7143 監査ログでリクエストをより調査しやすいように、詳細情報を残すレベルをERRORからNOTICEに変更
  • CMS-7144 メディアモーダルを閉じたときにフォーカスがモーダルを表示するために利用したボタンに戻らない問題の修正
  • CMS-7156 メディアの中心点の設定が、カスタムフィールドからだとリセットされてしまう問題の修正
  • CMS-7171 正常なアクセスであっても、Undefined constant "MIME_TYPE" or "IS_DEVELOPMENT" エラーが発生してしまう問題を修正
  • CMS-7170 Ver. 3.1.37 のセキュリティ修正より、Xログインの OAuth 認証ができない問題の修正
  • CMS-7172 ルール毎に設定した管理メニュー設定がコンフィグやモジュールID管理画面で反映されない問題を修正

セキュリティフィックス

  • CMS-7177 .htaccessのリダイレクトの安全性を向上
  • CMS-7137 CSRFトークンのセッションID更新タイミングを調整
  • CMS-7150 .htaccess と jsonレスポンスのセキュリティ・パフォーマンス系ヘッダーの安全性を向上
  • CMS-7145 ソルト発行と、認証URL周り処理のセキュリティ向上
  • CMS-7127 Content-Typeが正しく設定されていないJSON出力を修正
  • CMS-7163 URLが入る変数のXSS対策
  • CMS-7159 投稿者権限で一部必要ない管理画面を表示できてしまう問題を修正(実行は不可)
  • CMS-7125 テキストユニット(編集画面)のXSS対策(投稿者以上限定)
  • CMS-7152 プレビュー機能のXSS対策(投稿者以上限定)
  • CMS-7154 テンプレート書き出し機能のトラバーサル・RCE対策(編集者以上限定)
  • CMS-7161 ナビゲーションモジュールの「http://」によるテンプレート取得機能を廃止・SSRF対策(管理者限定)
  • CMS-7165 モジュールユニット機能のパストラバーサル対策(管理者限定)
  • CMS-7167 Webhook機能のSSTI対策(管理者限定)
  • CMS-7173 特定のPOSTモジュールのSSRF・XSS対策

Ver. 3.0系以下の修正点は、リリースノート をご覧ください

Ver. 3.1系、Ver. 3.0系のセキュリティ修正について

以下修正項目は、ログイン前提の脆弱性になります。信頼されないユーザーが投稿者権限以上をもつ場合は必ずアップデートをお願いします。

これらの修正は、メンテナンスポリシー に沿って、Ver. 3.1系、Ver. 3.0系でのみ修正されております。

  • CMS-7150 .htaccess と jsonレスポンスのセキュリティ・パフォーマンス系ヘッダーの安全性を向上
  • CMS-7127 Content-Typeが正しく設定されていないJSON出力を修正
  • CMS-7163 URLが入る変数のXSS対策
  • CMS-7159 投稿者権限で一部必要ない管理画面を表示できてしまう問題を修正(実行は不可)
  • CMS-7125 テキストユニット(編集画面)のXSS対策(投稿者以上限定)
  • CMS-7152 プレビュー機能のXSS対策(投稿者以上限定)
  • CMS-7154 テンプレート書き出し機能のトラバーサル・RCE対策(編集者以上限定)
  • CMS-7161 ナビゲーションモジュールの「http://」によるテンプレート取得機能を廃止・SSRF対策(管理者限定)
  • CMS-7165 モジュールユニット機能のパストラバーサル対策(管理者限定)
  • CMS-7167 Webhook機能のSSTI対策(管理者限定)

Ver. 2.8系 〜 Ver. 3.1系のセキュリティ修正について

以下修正項目は、ログイン不要の脆弱性になります。アップデートもしくは後述の応急処置の対応をお願いします。

この修正はサポートが終了している、Ver. 2.8 から Ver. 2.11 でもフィックスバージョンをリリースしております。

  • CMS-7173 特定のPOSTモジュールのSSRF・XSS対策

ワークアラウンド(応急処置)

config.server.phpHOOK_ENABLE1 に設定します。

define('HOOK_ENABLE', 1);

extension/acms/Hook.php を修正します。

public function beforePostFire($thisModule)
{
    $thisModule->Post->delete('protocol'); // この行を追加
}

extension/acms/Hook.php が存在しない場合は、php/ACMS/User/Hook.php を修正します。

謝辞

以下当該脆弱性をご報告いただいた haidv35 (Dinh Viet Hai) at Viettel Cyber Security 氏に感謝申し上げます。ご協力ありがとうございました。
This issue was reported by haidv35 (Dinh Viet Hai) at Viettel Cyber Security. We appreciate your cooperation.

  • CMS-7127 Content-Typeが正しく設定されていないJSON出力を修正
  • CMS-7163 URLが入る変数のXSS対策
  • CMS-7159 投稿者権限で一部必要ない管理画面を表示できてしまう問題を修正(実行は不可)
  • CMS-7125 テキストユニット(編集画面)のXSS対策(投稿者以上限定)
  • CMS-7152 プレビュー機能のXSS対策(投稿者以上限定)
  • CMS-7154 テンプレート書き出し機能のトラバーサル・RCE対策(編集者以上限定)
  • CMS-7161 ナビゲーションモジュールの「http://」によるテンプレート取得機能を廃止・SSRF対策(管理者限定)
  • CMS-7165 モジュールユニット機能のパストラバーサル対策(管理者限定)
  • CMS-7167 Webhook機能のSSTI対策(管理者限定)

以下当該脆弱性をご報告いただいた vcth4nh from VCSLab of Viettel Cyber Security (Vu Chi Thanh) 氏に感謝申し上げます。ご協力ありがとうございました。
This issue was reported by vcth4nh from VCSLab of Viettel Cyber Security (Vu Chi Thanh). We appreciate your cooperation.

  • CMS-7173 特定のPOSTモジュールのSSRF・XSS対策

最後に

できるだけ早めのバージョンアップをご検討ください。 当プロジェクトの安全性向上にご協力くださった皆さまに深く感謝申し上げます。

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