Concrete CMS 9.5.1 リリースノート

Concrete CMS 9.5.1 がリリースされました。
本ページは以下の原文を翻訳・要約しています。
https://github.com/concretecms/concretecms/releases/tag/9.5.1

機能改善(Behavioral Improvements)

管理画面・ページ管理に関する改善

  • 管理画面ページなどのシステムページを、移動・コピーできないようになりました。

 


アンケートに関する改善

  • 匿名アンケートで、Cookie に加えて IP アドレスも確認し、投票済みかどうかを判定するようになりました。

 


エクスプレスに関する改善

  • エクスプレス一覧 / 詳細 ブロックで、連番ID ではなく公開識別子を使用するようになりました。
    これにより、エントリーID の推測による情報参照リスクが軽減されます。

 


表示文言に関する改善

  • CKEditor のダイアログ内に表示される "サーバブラウザ" が "ファイルを選択" に変更されました。

 


表示・操作性に関する改善

  • ヒーロー画像ブロックにおいて、スライダー変更時に高さ設定が即時反映されるようになりました。

 


補足

本バージョンでは、管理画面のご操作帽子、アンケートやエクスプレスの安全性向上など、運用時の安全性に関わる改善が中心となっています。

  • Composer 管理下でインストールされたサイトやアドオンに対して、管理画面からのアップデートを禁止しました。
  • ドキュメントライブラリ ブロックのパフォーマンスを改善しました。
  • システムページの移動およびコピーを禁止しました。
  • エクスプレス一覧 / 詳細ブロックで、連番 ID の代わりに公開識別子を使用するよう変更しました。
  • CKEditor ダイアログ内の “Browse Server” 表記を “Select File” に変更しました。
  • 匿名アンケートで、IP アドレスによる重複投票検知を追加しました。
  • 公開 URL の検証および安全な Guzzle リクエスト生成用ユーティリティを追加しました。

バグ修正(Bug Fixes)

レイアウト操作に関する修正

  • レイアウト削除時の確認メッセージで、実際の挙動と文言が一致していない問題が修正されました。

  • Twig カスタムテンプレートがカスタムテンプレート選択 UI に表示されない問題を修正しました。(thanks mlocati)
  • エクスプレスフォーム の属性が通知メールに含まれない問題を修正しました。
  • Symfony Mailer 互換性向上のため、SMTP の STARTTLS/TLS 処理を改善しました。(thanks mlocati)
  • 「パスワードを忘れました」リンクの動作を修正しました。
  • 会話ブロックの JavaScript 描画処理を修正しました。
  • ページ属性表示ブロックの問題を修正しました。
  • コピーした外部リンクが誤ってエイリアス扱いになる問題を修正しました。
  • Concrete CMS 5.7 から 9.5.1 へのアップグレード時に発生する問題を修正しました。(thanks mlocati)
  • Summary Template Driver の権限処理に関する問題を修正しました。
  • レイアウト削除確認メッセージの文言と実際の挙動が一致していない問題を修正しました。

後方互換性に関する注意
(Backward Compatibility Notes)

  • 一部のサーバー環境では、メール送信設定の見直しが必要になる場合があります。
  • 特に、サーバー側で proc_open が無効化されている場合、ローカル sendmail を使ったメール送信が正常に動作しない可能性があります。
  • 該当する場合は、SMTP サーバーを使ったメール送信設定への切り替えが推奨されています。(thanks mlocati)

  • Concrete CMS 9.5.0 で Symfony Mailer に移行された影響により、proc_open が無効化されているサーバー環境では、ローカル sendmail を利用したメール送信に問題が発生する場合があります。該当環境では、SMTP サーバーを利用したメール送信設定が推奨されています。(thanks mlocati)
  • 独自の Summary Template Driver 実装で AbstractDriver を継承していない場合、カスタム summary template のレンダリング時にエラーが発生する可能性があります。
  • 該当する実装では、canViewRenderedSummaryTemplates 権限チェックへの対応が必要です。

セキュリティ修正(Security Fixes)

本バージョンでは、多数のセキュリティ修正が含まれています。
特に以下の機能を利用しているサイトでは、アップデートの優先度が高めとなっています。

  • エクスプレス
  • ファイルマネージャー
  • 会話機能
  • カレンダー
  • アンケート
  • OAuth
  • マーケットプレイス / パッケージ管理
  • レガシーフォーム
  • サマリーテンプレート

主な修正内容は以下のとおりです。
※ 技術的・詳細な内容は後述の開発者向けの内容をご覧ください。

 

管理者権限を悪用したリモートコード実行対策

  • コンポーザー フォームレイアウト のカスタムテンプレート保存処理で、パストラバーサルが適切に除去されない問題が修正されました。
  • エクスプレス一覧 ブロックで、安全ではないデシリアライズによりリモートコード実行につながる可能性がある問題が修正されました。

 


権限チェック・情報漏えいに関する修正

  • ファイルの利用状況、会話メッセージ、カレンダーイベント、エクスプレスエントリーなどで、権限のないユーザーが情報を取得できる可能性がある問題が修正されました。

 


CSRF・不正操作に関する修正

  • マーケットプレイス連携、パッケージ操作、ファイル削除などで、CSRF 対策が不十分な箇所が修正されました。

 


XSS に関する修正

  • レガシーフォームや一部の表示処理で、細工されたURLや入力値によりスクリプトが実行される可能性がある問題が修正されました。

  • 一部の JavaScript 依存ライブラリを更新し、上流ライブラリ側のセキュリティ問題に対応しました。
  • CVE-2026-8134 を修正しました。 ページタイプの Composer フォームレイアウト保存時、ptComposerFormLayoutSetControlCustomTemplate フィールドでパストラバーサル文字列が適切にサニタイズされない問題がありました。 Composer フォーム編集権限を持つ不正な管理者により、サーバー上の任意の読み取り可能なファイルが読み込まれる可能性がありました。 ファイルアップローダーの拡張子のみの検証と組み合わせることで、認証済みリモートコード実行につながる可能性があります。 CVSS v4.0 スコアは 9.4 です。
  • CVE-2026-8135 を修正しました。 ExpressEntryList ブロックコントローラーの安全でないデシリアライズにより、リモートコード実行につながる可能性がありました。 エリアにブロックを追加できる不正な管理者が、REST API 経由で _fromCIF === true の保護を回避し、悪意あるシリアライズ済みペイロードを filterFields カラムに注入できる可能性がありました。 CVSS v4.0 スコアは 8.9 です。
  • CVE-2026-8140 を修正しました。 /dashboard/extend/install/download/<remoteId> へのリクエスト処理時に CSRF トークンが検証されない問題がありました。 Marketplace に接続されたサイトでは、攻撃者が認証済み管理者に細工したページを開かせることで、任意の Marketplace パッケージをサーバーへダウンロードさせられる可能性がありました。 CVSS v4.0 スコアは 7.5 です。
  • CVE-2026-8417 を修正しました。 /dashboard/extend/update/do_update/<pkgHandle> で CSRF トークンが検証されず、認証済み管理者にパッケージ更新を実行させられる可能性がありました。 CVSS v4.0 スコアは 7.5 です。
  • CVE-2026-8421 を修正しました。 concrete/controllers/single_page/dashboard/extend/install.phpinstall_package() メソッドに CSRF 脆弱性がありました。 攻撃者が DIR_PACKAGES/<handle>/ 配下にパッケージを配置できる場合、認証済み管理者にそのパッケージをインストールさせ、リモートコード実行につながる可能性がありました。 CVSS v4.0 スコアは 7.5 です。
  • CVE-2026-8426 を修正しました。 /dashboard/extend/update/prepare_remote_upgrade/<remoteMPID> で CSRF トークンが検証されない問題がありました。 Marketplace 接続済みサイトで、攻撃者が対象 Marketplace アイテムIDに対応するリモートパッケージを制御できる場合、パッケージの PHP ファイルを上書きし、upgrade() メソッドを実行させられる可能性がありました。 CVSS v4.0 スコアは 7.5 です。
  • CVE-2026-8428 を修正しました。 管理画面のアップデート処理で CSRF トークンが表示されているにもかかわらず、do_update() メソッド側で検証されない問題がありました。 攻撃者が細工した POST リクエストにより、認証済み管理者にコア CMS アップデートを実行させる可能性がありました。 CVSS v4.0 スコアは 7.5 です。
  • CVE-2026-8350 を修正しました。 bulk_user_assignment.php に認可チェック不足があり、管理者グループへの権限昇格につながる可能性がありました。 該当する管理画面ページにアクセスできる認証済みユーザーが、任意のメールアドレスを任意のグループに追加したり、正規管理者を削除したりできる可能性がありました。 CVSS v4.0 スコアは 7.5 です。
  • CVE-2026-8197 を修正しました。 OAuth 連携名を経由した Stored XSS の問題がありました。 OAuth 認可テンプレートが連携名を t() 翻訳ヘルパー経由で出力する際、HTML として扱われる可能性がありました。 CVSS v4.0 スコアは 7.3 です。
  • CVE-2026-8203 を修正しました。 height パラメーターに対する Stored XSS の問題がありました。 編集権限を持つユーザーが悪意ある JavaScript を注入し、訪問者のブラウザー上で実行させる可能性がありました。 CVSS v4.0 スコアは 7.3 です。
  • CVE-2026-6826 を修正しました。 ファイル利用状況コントローラーの権限チェック不足により、未認証ユーザーが /ccm/system/dialogs/file/usage/{fID} にアクセスし、ファイルを参照しているページID、ハンドル、URLなどを取得できる可能性がありました。 CVSS v4.0 スコアは 6.9 です。
  • CVE-2026-8204 を修正しました。 カレンダーイベントのフロントエンドダイアログに認可バイパスがあり、公開カレンダーブロックを起点として非公開カレンダーデータへアクセスできる可能性がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-8205 を修正しました。 カレンダーブロックの action_get_events がカレンダーの canView 権限を確認しておらず、制限されたイベント詳細が漏えいする可能性がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-8236 を修正しました。 /ccm/system/dialogs/file/usage/{fID} に IDOR と認証チェック不足があり、未認証ユーザーが内部サイト構造データを取得できる可能性がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-8237 を修正しました。 /ccm/frontend/conversations/message_detail に IDOR があり、未認証ユーザーが任意の会話メッセージ本文、添付ファイル、ダウンロードURLなどを取得できる可能性がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-8238 を修正しました。 /ccm/frontend/conversations/message_page に IDOR があり、未認証ユーザーが会話メッセージの内容を列挙・取得できる可能性がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-8239 を修正しました。 /ccm/frontend/conversations/get_rating に IDOR があり、任意のメッセージIDの存在確認および評価スコア取得ができる可能性がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-7879 を修正しました。 concrete/controllers/single_page/download_file.phpsubmit_password() メソッドで、権限付きファイルのダウンロード時に view_file 権限チェックが回避される問題がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-7881 を修正しました。 エクスプレス Entry Detail ブロックの exEntryID パラメーターに IDOR があり、エクスプレスフォーム送信内容へ不正にアクセスできる可能性がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-8240 を修正しました。 Summary Template が設定されたページで、未認証ユーザーが非公開ページ、下書きページ、制限ページの存在や、タイトル、パス、説明、作成者情報などのメタデータを取得できる可能性がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-8337 を修正しました。 Survey に IDOR があり、公開アンケートのエンドポイントに制限付きアンケートの optionID を送信することで、未認証ユーザーが制限付きアンケートへ投票できる可能性がありました。 CVSS v4.0 スコアは 6.3 です。
  • CVE-2026-8245 を修正しました。 Legacy Pagination に HTML 属性インジェクションによる Reflected XSS がありました。 /dashboard/reports/forms/legacy にアクセスできる管理者またはレポート閲覧者が細工された URL を開くことで、セッション内でペイロードが実行される可能性がありました。 CVSS v4.0 スコアは 6.0 です。
  • CVE-2026-8327 を修正しました。 ユーザープロフィール編集コントローラーで POST データのホワイトリスト化が不十分で、現在のパスワード確認なしにパスワード変更が可能になる問題がありました。 また、セッションハイジャック検出のためのユーザー単位 IP 固定設定を登録ユーザーが無効化できる可能性がありました。 CVSS v4.0 スコアは 5.3 です。
  • CVE-2026-7882 を修正しました。 DeleteFile コントローラーで CSRF トークンチェックが逆転しており、有効なトークンでエラーになり、無効または欠落したトークンで削除処理が進む問題がありました。 これにより、会話メッセージ編集権限を持つユーザーに対する CSRF 攻撃でファイル削除が可能になる恐れがありました。 CVSS v4.0 スコアは 2.3 です。
  • CVE-2026-7886 を修正しました。 AddMessage / UpdateMessageattachments[] パラメーターに IDOR があり、ファイル権限バイパスにつながる可能性がありました。 会話に投稿できるユーザーが、CMS ファイルマネージャー内の任意のファイルIDを添付ファイルとして参照できる可能性がありました。 CVSS v4.0 スコアは 2.3 です。
  • CVE-2026-7887 を修正しました。 OAuth 2.0 Authorization-Code Handler がアカウント状態チェックを回避しており、uIsActive=0 の無効化ユーザーでも OAuth 経由で認証し、有効な API トークンを取得できる可能性がありました。 CVSS v4.0 スコアは 2.3 です。
  • CVE-2026-8340 を修正しました。 Backend\File::approveVersion に CSRF があり、edit_file_contents 権限を持つユーザーに対して、攻撃者が選択した既存アップロード済みバージョンを公開させる可能性がありました。 CVSS v4.0 スコアは 2.3 です。
  • CVE-2026-8347 を修正しました。 エクスプレス関連付けの並び替えダイアログに、IDOR と誤った認可レベルの問題がありました。 エクスプレスを利用し、エンティティの並び順に依存しているサイトが影響を受ける可能性があります。 CVSS v4.0 スコアは 2.3 です。
  • 以下の CSRF 脆弱性を修正しました。これらの CVSS v4.0 スコアは 2.3 です。
  • CVE-2026-7890 を修正しました。 RSS Displayer ブロックがページ編集者から任意のフィードURLを受け取り、サーバー側で検証せず取得していたため、内部向けURLへのリダイレクトを悪用できる可能性がありました。 CVSS v4.0 スコアは 2.1 です。
  • CVE-2026-8353 を修正しました。 コレクション名の出力をサニタイズすることで対応しました。 修正前は、Atomik テーマにおいてページ名を経由した Stored XSS が可能で、不正な編集者が任意の JavaScript を注入できる可能性がありました。 CVSS v4.0 スコアは 2.1 です。
  • CVE-2026-8139 を修正しました。 外部リンクページの cvName を経由した Stored XSS の問題がありました。 updateCollectionAliasExternal がサニタイズを回避していたことが原因です。 CVSS v4.0 スコアは 2.0 です。