こんにちは、エンジニアの加藤です。
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-z67n(CVE-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.ignore の
PKSA-wx2k-k564-z67n の項目を必ず削除してください。
不要になったignore設定を残したままにすると、将来別の理由で同じ脆弱性IDが再度検知された場合や、
他の依存関係で問題が発生した場合に気づきにくくなります。バージョンアップのたびに
audit.ignore の内容を見直す運用をおすすめします。
Info:次回リリース予定の ver.5.3.0 では、この対処(audit.ignoreの追加)は不要になるそうです。
まとめ
管理画面からアップデートできるようになって便利になったbaserCMSですが、今回のようなトラブルがしばしば発生することがあります。
今後もこうした事例を見つけた場合、記事としてまとめていきたいと思います。