【重要】CMSアップデートにより、Shoping Cart 拡張アプリが動作しなくなる問題について
2025年3月21日 a-blog cms に発見された脆弱性への対応で、CMSを以下バージョン以上にアップデートしているとCMSの仕様変更により「Shopping Cart」拡張アプリが動作しなくなります。
脆弱性について
https://developer.a-blogcms.jp/blog/news/security-update202503.html
対象バージョン
- Ver. 3.1.37 以上
- Ver. 3.0.41 以上
アップデート方法
https://developer.a-blogcms.jp/document/ec-cart/update.html をご覧ください。
大変お手数ですが、CMSのバージョンアップに合わせ「Shopping Cart」拡張機能のアップデートのご対応をお願いいたします。
アダプティブ・イメージ
a-blog cmsバージョン1.5.0からスマートフォンで閲覧したときはエントリーの画像を小さいサイズで表示する機能が追加されました。.js-adaptive_imageについて解説します。.js-adaptive_imageはPCサイトでは通常サイズの画像を表示し、ウィンドウ幅の狭いスマートフォンで閲覧したときは小さいサイズの画像を表示します。ページの容量を少なくできます。
小さいサイズ・通常サイズ・大きなサイズの画像生成について
エントリー作成画面から画像を投稿すると、小さいサイズ(tiny)・通常サイズ・大きなサイズ(large)の画像が生成されます。
生成する画像サイズについて
画像サイズは管理画面 > コンフィグ > 編集設定から設定します。 通常サイズは「サイズセレクト」から、小さいサイズ(tiny)と大きなサイズ(large)はイメージ編集の項目から設定します。

1. 設定の編集
この機能の設定は、/js/config.jsの以下の箇所にあります。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。詳しくは「組み込みJSについて:設定を編集する」を参照してください。
//-----------------------
// adaptive image sizing
adaptiveImageMark : 'img.js-adaptive_image',
adaptiveImageSize : 500,
2. HTMLの編集
themes/system/include/unit.htmlのファイルをベースに、自分のカスタマイズしているフォルダ内に themes/ご利用のテーマ/include/unit.html をコピーし、のあたりを以下のように変更します。 に.js-adaptive_imageを追加してtiny画像を読み込んでください。
<!-- BEGIN column#image -->
<!-- 画像 -->
<div class="column-image-{align}" ><!-- BEGIN link#front -->
<a href="{url}"{viewer}[raw]><!-- END link#front -->
<img class="columnImage js-adaptive_image" src="%{ROOT_DIR}{tinyPath}" alt="{alt}" width="{tinyX}" height="{tinyY}" data-width="{x}" data-height="{y}" /><!-- BEGIN link#rear -->
</a><!-- END link#rear --><!-- BEGIN caption:veil -->
<p class="caption">{caption}</p><!-- END caption:veil -->
</div>
<!-- END column#image -->
Ver. 3.1.43 リリースのお知らせ
この記事では、2025年4月8日にリリースした Ver. 3.1.43 の修正内容について紹介いたします。
現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。
本リリースでは、セキュリティ上の問題を修正しております。 当該脆弱性をご報告いただいた 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.
Ver. 3.1.43 リリースノート
変更点
- CMS-7109 デシリアライズ可能なクラスを追加できるHookを追加(unserializeAllowedClasses)
- CMS-7101 400ステータスのエラー画面を用意(themes/system/400.html)
修正点
- CMS-7110 POSTモジュール動作時は、そのリクエストではキャッシュを利用しないように改善
- CMS-7098 エントリー公開時にページキャッシュが削除されない問題の修正
- CMS-7104 open_basedir設定時に、ファイル存在確認でパスの内容によってはphpエラーが発生する問題を修正
- CMS-7111 .htaccess を apache2.4 の書き方に統一 & IPアドレス制限や実行php制限の記述を追加
- CMS-6890 スマホで、ダイレクト編集をするとユニット部分がスクロール出来ない問題を修正
- CMS-7113 ブログコードが1文字だと、メディアのダウンロードリンクが切れてしまう問題を修正
- CMS-7114 フォームのコンバーターオプションで、不正な入力があるとphpエラーが発生する問題を修正
- CMS-7103 バックアップ機能のディレクトリ・トラバーサル対策(管理者限定)
- CMS-7115 エントリー編集者画面のXSS対策(投稿者以上限定)
一部リリースノートの詳細な内容
CMS-7101 400ステータスのエラー画面を用意(themes/system/400.html)
入力内容が不正な場合に400ステータスのエラー画面を出力するようになりました。また以下テンプレートで400エラー画面をカスタマイズすることができます。
themes/ご利用テーマ/400.html
CMS-6890 スマホで、ダイレクト編集をするとユニット部分がスクロール出来ない問題を修正
スマホでダイレクト編集モードに入ると、ユニット部分がスクロールできず、スマホではユニットが画面いっぱいに広がってるため、スクロールが実質できない不具合を修正しました。
.htaccess を apache2.4 の書き方に統一 & IPアドレス制限や実行php制限の記述を追加
.htaccessの記述をapache2.4の記述方法に統一し、IPアドレス制限や実行PHP制限のコードを追加しました。デフォルトではコメントされている部分もあるため、必要に応じて設定ください。
IPアドレス制限
# ---------------------------
# 全体のIPアドレス制限
# ---------------------------
# <RequireAll>
# Require not ip xxx.xxx.xxx.xxx
# Require not ip yyy.yyy.yyy.yyy
# Require all granted
# </RequireAll>
サイト全体で拒否したいIPアドレスを指定ください。デフォルトではコメントアウトで無効化されています。
index.php以外のPHPスクリプトを実行禁止
# ---------------------------------------
# index.php以外のPHPスクリプトを実行禁止
# ---------------------------------------
<FilesMatch "\.php$">
Require all denied
</FilesMatch>
<Files "index.php">
Require all granted
</Files>
index.php以外は実行できないようになっております。 下階層のディレクトリなどで、独自のindex.php以外のphpを動作させたい場合は、以下のように該当ディレクトリに.htaccessを設置ください。
# hoge.php と fuga.phpを許可
<FilesMatch "^(hoge|fuga)\.php$">
Require all granted
</FilesMatch>
実行可能なスクリプトをブロック
# ------------------------------------------------------------------
# 実行可能なスクリプト (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のindex.php以外のスクリプトは実行できないように設定します。制限がきついため、デフォルトはコメントアウトされています。 よりセキュリティを高める場合に、コメントアウトを外してください。
最後に
該当する問題がございましたら、できるだけ早めのバージョンアップをご検討ください。 ご報告いただいた haidv35 (Dinh Viet Hai) at Viettel Cyber Security 様を含め、当プロジェクトの安全性向上にご協力くださった皆さまに深く感謝申し上げます。
今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。
今後ともどうぞよろしくお願いいたします。