baserCMS 5.2.4から5.2.8へのアップデートに失敗する原因と対処法

こんにちは、エンジニアの加藤です。

baserCMS ver 5.2.4 から 5.2.8 へバージョンアップしようとすると、通常の手順どおりに 自動アップデートを実行しただけでは失敗してしまうことがあります。しかし、この現象や対処法は baserCMSの公式サイトには情報が掲載されておらず、原因が分からずアップデートできずに 困っている方も多いのではないでしょうか。

本記事では、このバージョンアップ失敗の原因と 具体的な対処方法をまとめました。
同じ問題で困っている方の参考になれば幸いです。

現象

管理画面の「更新」→「最新版をダウンロード」から「ダウンロード」ボタンを押すと
「ダウンロードに失敗しました」というエラーになる。

対処方法

その場合、ドキュメントルート直下の composer.json の以下の箇所を書き換えると正常に動作します。

変更前

"config": {
    "sort-packages": true,
    "allow-plugins": {
        "cakephp/plugin-installer": true,
        "dealerdirect/phpcodesniffer-composer-installer": true
    }
}

変更後

"config": {
    "sort-packages": true,
    "allow-plugins": {
        "cakephp/plugin-installer": true,
        "dealerdirect/phpcodesniffer-composer-installer": true
    },
    "audit": {
        "ignore": {
            "PKSA-wx2k-k564-z67n": "CVE-2026-48820: baserCMS 5.2系がcakephp/cakephp 5.0.*に固定されており、修正版(5.1.7+)へ追従できないため暫定的に無視。baserCMS公式のCakePHP要件緩和リリースを待って解除する。"
        }
    }
}

なぜこの ignore が必要なのか

追加した PKSA-wx2k-k564-z67nCVE-2026-48820)は、baserCMS 5.2系が依存する cakephp/cakephp のバージョンに起因する脆弱性情報です。baserCMS 5.2系は cakephp/cakephp 5.0.* に固定されており、この脆弱性の修正版である 5.1.7 以降へ 追従できません。そのため、依存関係の解決ができずアップデート処理が失敗してしまいます。

この audit.ignore 設定は、あくまでbaserCMS本体側の依存バージョン制約が解消されるまでの 暫定的な回避策です。危険度を評価した上で許容しているわけではなく、 「baserCMSがCakePHPの要件を緩和し、修正版へ追従できるようになるまでの間、 アップデート処理を通すためだけに一時的に無視している」という位置づけです。

注意:バージョンアップ後は ignore の削除を忘れずに

baserCMS公式がCakePHPの要件を緩和し、修正版(5.1.7以降)に追従できるバージョンをリリースした場合、 このignore設定はもう不要になります。次のバージョンにアップデートした際は、 composer.json から audit.ignorePKSA-wx2k-k564-z67n の項目を必ず削除してください。

不要になったignore設定を残したままにすると、将来別の理由で同じ脆弱性IDが再度検知された場合や、 他の依存関係で問題が発生した場合に気づきにくくなります。バージョンアップのたびに audit.ignore の内容を見直す運用をおすすめします。

Info:次回リリース予定の ver.5.3.0 では、この対処(audit.ignoreの追加)は不要になるそうです。

まとめ

管理画面からアップデートできるようになって便利になったbaserCMSですが、今回のようなトラブルがしばしば発生することがあります。

今後もこうした事例を見つけた場合、記事としてまとめていきたいと思います。

  • このエントリーをはてなブックマークに追加

AUTHOR

加藤 朗

加藤 朗 アドバイザリエンジニア

私、一見貧弱でアウトドアとは無縁そうに見えますが、実は、シーカヤックで博多湾を漕ぐのが趣味なんです。

こんな記事も書いています