【重要なお知らせ】a-blog cmsの脆弱性について

サムネイル

2025年3月21日 a-blog cms に重大な脆弱性が見つかりました。

今回は見つかった脆弱性は以下になります。

最新の対策・対応状況は 3月25日の「脆弱性についての対策・対応について」をご覧ください。

オブジェクトインジェクションの脆弱性

内容

オブジェクトインジェクションの脆弱性によって、攻撃ファイルをサーバー上に設置される可能性があります。

影響を受けるバージョン

  • a-blog cms Ver. 3.1.37 未満のバージョン (Ver.3.1.x系)
  • a-blog cms Ver. 3.0.41 未満のバージョン (Ver.3.0.x系)
  • a-blog cms Ver. 2.11.70 未満のバージョン (Ver.2.11.x系)
  • a-blog cms Ver. 2.10.58 未満のバージョン (Ver.2.10.x系)
  • a-blog cms Ver. 2.9.46 未満のバージョン(Ver. 2.9.x系)
  • a-blog cms Ver. 2.8.80 未満のバージョン(Ver. 2.8.x系)
  • a-blog cms Ver. 2.7.x 以下全てのバージョン

応急処理・調査・修復

攻撃によりファイル設置されているか調査・対応する必要がございます。 対応方法について必ず以下ページをご覧ください


最後に

この度はご迷惑をおかけしてしまい大変申し訳ございません。
重大の問題になりますので、お早めにバージョンアップのご対応をお願いいたします。

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

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

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

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

a-blog cmsの脆弱性対応バージョンの不具合について

サムネイル

2025年3月22日に重大な脆弱性に対応したバージョンがリリースされました。

ただ、脆弱性対応により以下のような不具合が発生したため修正バージョンをリリースいたしました。

修正された不具合

  • フォームログやカスタムユニットのデータが復元されない問題
  • 正常のアクセスでもエラーログが出力されてしまう問題
  • インストーラーが動作しない問題を修正
  • スケジュールモジュール、スケジュール登録画面でエラーが出る問題
  • 管理系JS周りが動作しない問題(Ver. 3.0系)

お手数ですが、各バージョンのフィックスバージョンがリリースされていますので、アップデートをお願いします。

各バージョンの最新バージョン

  • Ver. 3.1.41(Ver. 3.1.x系)
  • Ver. 3.0.45(Ver. 3.0.x系)
  • Ver. 2.11.74(Ver. 2.11.x系)
  • Ver. 2.10.62(Ver. 2.10.x系)
  • Ver. 2.9.50(Ver. 2.9.x系)
  • Ver. 2.8.84(Ver. 2.8.x系)

phpのバージョンは7.0以上にすることでよりセキュリティが高まりますので、できればPHP7.0以上へのアップデートをご検討ください。

またアップデート後であっても、不審なファイルがないかご確認を必ずお願いします。

必ず確認してください。

CMS アップデート後、ドキュメントルートなどに見覚えのない php などのファイルがありましたら、必ず削除をお願いします。

SSHで接続する必要がありますが、以下のようにファイルを検索することで、問題があるファイルの検索に役立ちます。

cacheを除いて、ここ7日間で作成・更新されたファイルを列挙する

$ find . -type d -name "cache" -prune -o -type f  -mtime -7 -print
$ find . -type d -name "cache" -prune -o -type f  -ctime -7 -print

cacheディレクトリを除いて検索していますので、念の為cacheディレクトリ内は「.htaccess」を残して全て削除ください。

最後に

この度はご迷惑をおかけしてしまい大変申し訳ございません。
重大の問題になりますので、お早めにバージョンアップのご対応をお願いいたします。

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

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

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

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

脆弱性についての対策・対応について

サムネイル

2025年3月21日に発覚した重大な脆弱性により、皆様には多大なるご迷惑をおかけしておりますことを、心よりお詫び申し上げます。

本記事では、この脆弱性を悪用した攻撃への対策および対応について、改めてまとめております。

対応バージョンへのアップデート

脆弱性対応バージョンへのアップデートを必ずお願いします。

影響を受けるバージョン

  • a-blog cms Ver. 3.1.37 未満のバージョン (Ver.3.1.x系)
  • a-blog cms Ver. 3.0.41 未満のバージョン (Ver.3.0.x系)
  • a-blog cms Ver. 2.11.70 未満のバージョン (Ver.2.11.x系)
  • a-blog cms Ver. 2.10.58 未満のバージョン (Ver.2.10.x系)
  • a-blog cms Ver. 2.9.46 未満のバージョン(Ver. 2.9.x系)
  • a-blog cms Ver. 2.8.80 未満のバージョン(Ver. 2.8.x系)
  • a-blog cms Ver. 2.7.x 以下全てのバージョン

3/25時点の各バージョン最新バージョン

  • Ver. 3.1.41(Ver. 3.1.x系)
  • Ver. 3.0.45(Ver. 3.0.x系)
  • Ver. 2.11.74(Ver. 2.11.x系)
  • Ver. 2.10.62(Ver. 2.10.x系)
  • Ver. 2.9.50(Ver. 2.9.x系)
  • Ver. 2.8.84(Ver. 2.8.x系)

Ver. 2.7系以下であっても脆弱性はあるため、大変お手数ですがVer. 2.8以上へのアップデートをお願いします。

現状確認されている範囲では、Ver. 2.8以上の場合のみ攻撃が成功しているようですが、念の為Ver. 2.7以下であってもバージョンアップをお願いします。

PHPのバージョンアップ

php7.0未満である場合、出来ればphp7.0以上へアップデートすることにより、よりセキュアにすることができます。

php公式でサポートされているバージョンも、php8.1以上になり、php8.0以下はサポートが切れております。

攻撃に利用されたファイルの削除

この対応により、本脆弱性の影響を軽減することができます。 CMSアップデート前提ですが、アップデートするまでの応急処置としてご対応ください。

以下ディレクトリ・ファイルを削除ください。

  • php/vendor/guzzlehttp/guzzle/src/Cookie
  • php/vendor/guzzlehttp/psr7/src/FnStream.php
  • php/vendor/phpseclib/phpseclib/phpseclib/File
  • php/vendor/phpseclib/phpseclib/phpseclib/Math
  • php/vendor/phpseclib/phpseclib/phpseclib/Net
  • php/vendor/phpseclib/phpseclib/phpseclib/System

不審なファイルの削除

すでに攻撃がされて悪意あるファイルが設置されている可能性があります。以下のようなコマンドで、悪意あるファイルが設置されていないか確認してください。 ファイルが設置されていましたら、パーミッションを「000」に設定してください。

攻撃が確認されたのは、2025年03月20日以降になりますので、この期間が入るように検索ください。

CMSアップデート前の場合(コマンドで確認)

cacheを除いて、ここ10日間で作成・更新されたファイルを列挙する

$ cd /path/to/ドキュメントルート
$ find . -type d -name "cache" -prune -o -type f  -mtime -10 -print
$ find . -type d -name "cache" -prune -o -type f  -ctime -10 -print

cacheディレクトリを除いて検索していますので、念の為cacheディレクトリ内は「.htaccess」を残して全て削除ください。

CMSアップデート前の場合(ブラウザで確認)

SSHでサーバーに入るのが難しい場合は、以下内容のphpファイルを設置することで、ブラウザで確認することができます。

scan.php

<?php

// 何日前を対象にするか(変更可能)
$daysAgo = 10;

// 実行する find コマンド
$commands = [
    "find . -type d -name 'cache' -prune -o -type f -mtime -$daysAgo -print",
    "find . -type d -name 'cache' -prune -o -type f -ctime -$daysAgo -print"
];

// 結果を格納する配列
$results = [];

foreach ($commands as $cmd) {
    // コマンドの実行
    $output = shell_exec($cmd);

    if ($output) {
        // 出力を改行ごとに分割
        $results[$cmd] = explode("\n", trim($output));
    } else {
        $results[$cmd] = ["No results found"];
    }
}

// HTML出力
echo "<html><head><meta charset='UTF-8'><title>Find Command Results</title></head><body>";
echo "<h1>{$daysAgo}日前から更新されたファイル</h1>";

foreach ($results as $cmd => $files) {
    echo "<h2>Command: <code>$cmd</code></h2>";
    echo "<ul>";
    foreach ($files as $file) {
        echo "<li>" . htmlspecialchars($file) . "</li>";
    }
    echo "</ul>";
}

echo "</body></html>";

$daysAgo = 10; を調整することで、検索する日数を調整できます。2025年03月20日からの差分を確認ください。

phpファイルを設置したら、以下のようなURLで確認します。

https://example.com/scan.php

調査後は必ず、scan.phpはサーバーから削除ください。

CMSアップデート後の場合(コマンドで確認)

CMSアップデート後は、新しいバージョンで上書きされますので、以下箇所をご確認ください。

$ cd /path/to/ドキュメントルート
$ find . -maxdepth 1 -type f -mtime -10 -print
$ find archives  -type f  -mtime -10 -print
$ find archives_rev  -type f  -mtime -10 -print
$ find media  -type f  -mtime -10 -print
$ find storage  -type f  -mtime -10 -print
$ find cron  -type f  -mtime -10 -print
$ find extension  -type f  -mtime -10 -print
$ find private  -type f  -mtime -10 -print
$ find themes -type d -name "system" -prune -o -type f  -mtime -10 -print

$ find . -maxdepth 1 -type f -ctime -10 -print
$ find archives  -type f  -ctime -10 -print
$ find archives_rev  -type f  -ctime -10 -print
$ find media  -type f  -ctime -10 -print
$ find storage  -type f  -ctime -10 -print
$ find cron  -type f  -ctime -10 -print
$ find extension  -type f  -ctime -10 -print
$ find private  -type f  -ctime -10 -print
$ find themes -type d -name "system" -prune -o -type f  -ctime -10 -print

CMSアップデート後の場合(ブラウザで確認)

SSHでサーバーに入るのが難しい場合は、「scan.php」の内容を変更してファイルを設置することで、ブラウザで確認することができます。

// 実行する find コマンド
$commands = [
    "find . -maxdepth 1 -type f -mtime -$daysAgo -print",
    "find archives  -type f  -mtime -$daysAgo -print",
    "find archives_rev  -type f  -mtime -$daysAgo -print",
    "find media  -type f  -mtime -$daysAgo -print",
    "find storage  -type f  -mtime -$daysAgo -print",
    "find cron  -type f  -mtime -$daysAgo -print",
    "find extension  -type f  -mtime -$daysAgo -print",
    "find private  -type f  -mtime -$daysAgo -print",
    "find themes -type d -name 'system' -prune -o -type f  -mtime -$daysAgo -print",

    "find . -maxdepth 1 -type f -ctime -$daysAgo -print",
    "find archives  -type f  -ctime -$daysAgo -print",
    "find archives_rev  -type f  -ctime -$daysAgo -print",
    "find media  -type f  -ctime -$daysAgo -print",
    "find storage  -type f  -ctime -$daysAgo -print",
    "find cron  -type f  -ctime -$daysAgo -print",
    "find extension  -type f  -ctime -$daysAgo -print",
    "find private  -type f  -ctime -$daysAgo -print",
    "find themes -type d -name 'system' -prune -o -type f  -ctime -$daysAgo -print"
];

調査後は必ず、scan.phpはサーバーから削除ください。

.htaccess で PHP の実行を制限

.htaccessで、index.php以外のphpの実行を制限します。以下コードを.htaccessの上部に設置ください。

<IfModule mod_version.c>
    <IfVersion < 2.4>
        <FilesMatch "\.php$">
            Order Allow,Deny
            Deny from all
        </FilesMatch>
        <Files "index.php">
            Order Allow,Deny
            Allow from all
        </Files>
    </IfVersion>
    <IfVersion >= 2.4>
        <FilesMatch "\.php$">
            Require all denied
        </FilesMatch>
        <Files "index.php">
            Require all granted
        </Files>
    </IfVersion>
</IfModule>

もし独自のphpを動作させたい場合は、以下のように修正ください。

<IfModule mod_version.c>
    <IfVersion < 2.4>
        <FilesMatch "\.php$">
            Order Allow,Deny
            Deny from all
        </FilesMatch>
        <Files "index.php">
            Order Allow,Deny
            Allow from all
        </Files>
        <Files "xxxx.php">
          Order Allow,Deny
          Allow from all
      </Files>
    </IfVersion>
    <IfVersion >= 2.4>
        <FilesMatch "\.php$">
            Require all denied
        </FilesMatch>
        <Files "index.php">
            Require all granted
        </Files>
        <Files "xxxx.php">
          Require all granted
      </Files>
    </IfVersion>
</IfModule>

「xxxx.php」に独自のphpファイル名を指定ください。

* 2025/04/04 追記.
上記の phpの実行制限だと、index.phpのみ実行できるように制限できますが、階層違いのindex.phpは実行できてしまいます。CMSのindex.phpのみ実行できるようにするには以下リダイレクトを設定します。

# ------------------------------------------------------------------
# 実行可能なスクリプト (PHP, CGI, Perl, Python, Shell, EXE) をブロック
# ------------------------------------------------------------------
RewriteCond %{REQUEST_URI} !^/index\.php$ [NC]
# RewriteCond %{REQUEST_URI} !^/_setup/.*\.php$ [NC]
# RewriteCond %{REQUEST_URI} !^/other2/index\.php$ [NC]
RewriteCond %{REQUEST_URI} \.(php|cgi|pl|py|sh|exe|bin|dll|bat|cmd|msi|jar)$ [NC]
RewriteRule ^.*$ - [F,L]
  • メンテナンスプログラムや、CMS外のプログラムも動作しなくなります。
  • 他のphpを動作させたい場合は、コメントアウトされている箇所を参考に該当パスを除外ください。

.htaccessで攻撃元のIPアドレスを制限

.htaccessで、攻撃元のIPアドレスを制限します。

攻撃元IPアドレスの確認方法

Ver. 3.1 系であれば監査ログで攻撃されたログが確認できます。以下のメッセージのものが攻撃されたアクセスの可能性が高いです。

  • 「takeover」が復元できません
  • POSTデータの「takeover」が復元できません

攻撃ログ

攻撃ログ

監査ログから接続元のIPアドレスを確認し、.htaccessでこのIPアドレスからの接続を拒否するように設定ください。

# 特定のIPアドレスをブロック
Order allow,deny
Deny from xxx.xxx.xxx.xxx
Deny from xxx.xxx.xxx.xxx
Allow from all

最後に

この度はご迷惑をおかけしてしまい大変申し訳ございません。
重大の問題になりますので、お早めにご対応をお願いいたします。

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

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

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

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

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 以下のバージョン(フィックスバージョンはありません)

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

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 以下のバージョン(フィックスバージョンはありません)

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/

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

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

この記事では、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対策

最後に

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

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