CVE-2026-49400 in October情報

要約

〜によって VulDB • 2026年09月14日

October Systemは、October Content Management System用のシステムモジュールを提供します。バージョン3.7.17および4.2.21より前では、バックエンドの`SessionMaker`トレイトがウィジェットセッション状態を`base64(serialize(...))`として保存し、`allowed_classes`制限なしで`unserialize()`を使用してそれを読み込んでいました。攻撃者が制御するバイト列を持つ`widget.*`セッションキーへの書き込みが可能であるあらゆるコードパスは、次にウィジェットがそのセッション状態を読む際にPHPオブジェクトインジェクションをトリガーさせ、任意のクラスのインスタンス化および到達可能なPHPガジェットチェーンの実行を可能にします。この問題は、`cms.safe_mode`(セーフモード)が有効になっているインストールでのみ影響を受けます。Safe Modeはニッチなオプトイン機能であり、主に信頼できないユーザーがCMSマークアップエディタへのアクセスを意図的に付与されるデモ用インストールやマルチテナント/共有編集シナリオで使用されます。標準的な本番環境の展開ではSafeモードは無効で、バックエンドへのアクセスは信頼できる管理者に制限されており、マークアップエディタはすでに任意のPHPコードを実行できます。このシンク(脆弱性ポイント)に至るセッション書き込みパスはSafe Modeサンドボックスによって制御されているため、Safe modeが有効になっていないインストールは影響を受けません。たとえSafeモードを有効にしても、影響範囲は限定的です。ウィジェットセッション状態(検索用語、ソートオプション、選択されたID、フィルター値など)を入力する標準的なバックエンドコードパスでは、シリアライズ前に入力が既知の配列形状でラップされるため、ユーザーが入力した値が制御可能なシリアライズペイロードとして`unserialize()`に到達することはありません。攻撃には、Safeモードのセッション書き込みパスと、インストールされた依存関係セットから到達可能な適切なPHPガジェットチェーンの両方が必要です。以下のハードニングにより根本的なオブジェクトインジェクションシンクが削除されるため、この種の問題はRegardless(いかなる場合でも)解消されます。

本脆弱性はv3.7.17およびv4.2.21でパッチ済みです。2つの変更が適用されました。`Backend\Traits\SessionMaker`は現在、`base64(serialize(...))`の代わりにプレーンなJSONとしてウィジェットセッション状態を保存し、新しい書き込みに対してオブジェクトインジェクションシンクを完全に排除しました。読み取り処理では、1つのアップグレードサイクルにわたってレガシー形式へのフォールバックが透過的に行われるため、既存のセッションは保存されたウィジェット状態を維持します。レガシーな`unserialize()`フォールパスには現在`allowed_classes => false`が設定されているため、アップグレード前に書き込まれた値であってもオブジェクトのインスタンス化はできません。回避策として、CMSマークアップ編集へのアクセスを完全に信頼できる管理者のみに制限してください(これはあらゆる展開における標準的なOctober CMS推奨事項です)。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

GitHub M

予約する

2026年05月29日

モデレーション

承諾済み

エントリ

VDB-403625

EPSS

0.00000

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!