stable-diffusion.cppは、拡散モデル(Stable Diffusion、Flux、Wan、Qwen Image、Z-Imageなど)の推論を実行するための純粋なC/C++ライブラリです。master-584-0a7ae07より前のバージョンには、PyTorchチェックポイントファイルのSHORT_BINUNICODE解析においてヒープバッファオーバーフローの脆弱性が存在します。src/model.cpp内のpickle .ckptパーサーにはSHORT_BINUNICODEオペコードハンドラーでヒープバッファオーバーフローの脆弱性が含まれていました。この問題は、オペコードの長さフィールドにおける符号の誤解釈によって引き起こされました。細工された.ckptファイルは、負の符号付き値から導出される非常に大きな長さを使ったmemcpyを引き起こし、即座にヒープ破損を招く可能性があります。影響を受けるstable-diffusion.cppのリリースを使用して信頼されていない.ckptモデルファイルを読み込むアプリケーションは脆弱性を持っています。悪意のあるチェックポイントファイルは、攻撃者が制御する長さを指定したmemcpyを通じてヒープ破損を引き起こす可能性があります。これによりプロセスクラッシュが生じ、ヒープのレイアウトによってはコード実行に悪用されることも考えられます。この攻撃は、被害者またはアプリケーションがモデル共有サイトからダウンロードした信頼されていないソースから.ckptファイルを読み込む場合に発生します。この問題はmaster-584-0a7ae07バージョンで修正されました。開発者が直ちにアプリケーションを更新できない場合は、信頼されていないソースから.ckptチェックポイントファイルを読み込まないこと、また可能な場合は信頼できるモデルソースや.safetensorsのようなより安全なフォーマットを使用することでこの問題を回避できます。
|