CVE-2026-92916 in Grav
要約
〜によって VulDB • 2026年09月17日
GravはフラットファイルCMSです。Grav 1.7.0から1.7.53.2、および2.0.0から2.0.21において、デバッガーが有効化されている場合(system.debugger.enabled: true、これはデフォルトではありません)、Clockworkプロファイラーエンドポイントが認証なしで公開されます。InitializeProcessor::handleDebuggerRequest()はブートストラップ中に/__clockwork/を含むすべてのパスをインターセプトし、Debugger::debuggerRequest()に渡します。この関数はユーザーの検索、IP制限、またはClockwork認証チェックを行わず、保存された履歴全体に対して匿名でのページネーションもサポートしています。デフォルトでcensored: falseが設定されているため、各保存レコードには生のリクエストクッキー(Gravのセッションクッキーを含む。その値はPHPセッションIDであり、攻撃者が他のユーザー、認証済み管理者も含む)のセッションを再開することを可能にします)、完全な解析済みのリクエストボディ(Gravのログインフォームではdata[username]/data[password]がPOSTされるため、Clockworkのパスワードフィルターはトップレベルキーのみを検査するためパスワードは平文で保存されます)、およびSMTP認証情報、サードパーティ製APIキー、ライセンスキーなどの運用者が保存したシークレットを含むサイト全体のシステム設定とプラグイン設定が含まれます。AuthorizationヘッダーやX-API-Tokenヘッダーもcensored: trueの場合でも保存されます。Grav 2.0ではprovider: debugbarを設定しても問題は回避できません。JSONレスポンスを好むリクエストに対してGravがClockworkプロバイダーを強制するためです。この問題は1.7.53.4および2.0.22で修正されており、/__clockwork/へのアクセスはサーバーローカルリクエストまたは新しいsystem.debugger.tokenシークレットを示すリクエストに制限され、保存されたレコードからクッキーと認証用ヘッダーが削除されます。回避策としては、debugger.enabled: falseを設定するか、WebサーバーやCDNで/__clockwork/をブロックすることが挙げられます。
If you want to get best quality of vulnerability data, you may have to visit VulDB.