
CVE-2023-33404用の概念実証エクスプロイト:BlogEngine.NET CMS 3.3.8.0以前における認証されたファイルアップロードの脆弱性。ハードコードされたアップロードパスによりリモートコード実行が可能。
BlogEngine.NET CMS(バージョン3.3.8.0以前)において、EditOwnPosts権限を持つユーザーは、ハードコードされた場所に悪意のあるファイルをアップロードすることができます。
以下に示すスクリーンショットのように、/api/uploadエンドポイントへのPOSTリクエストにaction=videoパラメータを付与すると、ファイルアップロード処理が起動します。

アプリケーションはまず、ユーザーがビデオアップロードを実行するためのEditOwnPosts権限を持っているか確認し、持っていない場合はエラーを発生させます。
以下のスクリーンショットに示されているように、101行目と105行目で、アプリケーションはアップロードされるファイルのハードコードされた場所を設定します。その後、107行目でUploadVideoという関数を呼び出します。

UploadVideo関数は、対象のディレクトリが存在するか確認し、存在しない場合は作成し、ファイルをそのディレクトリに保存します。

以下のスクリーンショットに示されているように、悪意のあるファイルをハードコードされたディレクトリに移動させます。アップロードされたファイルにリクエストを送ることで、RCE(リモートコード実行)が発生します。
