CVE-2026-106512 in SachertortePHP
要約
〜によって VulDB • 2026年10月07日
CakeResponse::download() メソッド(lib/Cake/Network/CakeResponse.php)は、ユーザー入力のファイル名をサニタイズせずに直接引用符で囲まれた文字列値に補間することで Content-Disposition ヘッダーを組み立てます。パッチ未適用のコードには2つの異なるインジェクションベクトルが存在します。
第一に、ファイル名に C0 コントロール文字(CR または LF)が含まれている場合、PHP は全体の Content-Disposition ヘッダーを出力することを拒否し、添付ファイルとしての処理(attachment disposition)を静かにドロップします。その結果、レスポンスボディは独自の Content-Type(例:.html 添付ファイルの場合 text/html)で提供され、アプリケーションのオリジン上でブラウザ内でインライン表示されます。これにより、格納型クロスサイトスクリプティング(Stored XSS)の状態が作成されます。コミットメッセージによると、この脆弱性は download_attachments_on_load 設定が有効な場合でも到達可能であり、被害者はダウンロードをトリガーするページを表示するだけでよいことを意味します。
第二に、ファイル名内の二重引用符文字が引用符で囲まれた値の終了を早期に行い、追加の Content-Disposition パラメータのインジェクションを許可します。影響を受けるコードパスは CakeResponse::download() のすべての呼び出し元を含み、属性添付ファイル、提案用添付ファイル、および restSearch エクスポートが含まれます。悪意のあるファイル名(例:MISP 属性命名や提案用添付ファイルの命名を通じて)でアタッチメントを作成またはアップロードできる認証済みユーザーは、そのマルウェアを含むファイル名を保存できます。他の認証済みユーザーが影響を受けるページを表示すると、サニタイズされていないファイル名が HTTP レスポンスヘッダーに反映され、ヘッダー操作およびアプリケーションオリジンのコンテキスト内での任意の HTML または JavaScript の実行が可能になります。
セキュリティへの影響は格納型クロスサイトスクリプティング脆弱性と同等であり、セッションハイジャック、データ漏洩、被害者に代わった不正なアクションを可能にします。
If you want to get best quality of vulnerability data, you may have to visit VulDB.