【重要なお知らせ】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/
PDFのプレビュー
PDFをプレビュー表示する機能です。Ver.2.11より利用可能です。
使い方
基本的な使い方
以下のように全体をjs-pdf-viewer
というclass属性で囲み、その中にimgタグを記述して、data-pdf
にPDFへのパスを記述します。
<div class="js-pdf-viewer">
<img class="js-preview" data-pdf="/path/to/pdf" >
</div>
ページ番号を指定してPDFをプレビューする
さらにimgタグに data-page
属性を適用することでページ番号を指定してPDFをプレビューすることができます。
また、ページ送りするためのボタンを追加することも可能です。
<div class="js-pdf-viewer">
<img class="js-preview" data-pdf="/path/to/pdf" data-page="2" >
<button class="js-prev">前へ</button>
<button class="js-next">次へ</button>
</div>
機能の編集
この機能の編集設定は、/js/config.js
の以下の箇所にあります。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。詳しくは「組み込みJSについて:設定を編集する」を参照してください。
pdfPreviewConfig: {
mark: '.js-pdf-viewer', // PDFプレビューの親要素につけるクラス名
previewMark: '.js-preview', // 実際にプレビュー画像を表示する img 要素のクラス名
prevBtnMark: '.js-prev', // 次ページのボタンにつけるクラス名
nextBtnMark: '.js-next', // 前ページのボタンにつけるクラス名
pdfAttr: 'data-pdf', // 対象のPDFのパスのdata属性名
widthAttr: 'data-width', // 幅指定のdata属性名
pageAttr: 'data-page', // 表示するページ数のdata属性名
lazyAttr: 'data-lazy', // lazy load するかどうか(1 or 0)のdata属性名
showBtnClass: 'acms-admin-block' // PDFのページ送りボタンがある場合につくクラス名
},