liblcf v0.8.1:`ReadInt()`内の整数オ... ノート

liblcf v0.8.1:ReadInt()内の整数オーバーフローにより、境界外読み取りとサービス妨害が発生

Ron E が 8 月 18 日に投稿:RPG Maker で作成されたセーブファイル (.lsd) は、liblcf の lcfstrings 圧縮整数デコードロジック (LcfReader::ReadInt()) で整数オーバーフローを引き起こし、結果として無制限のシフトと累積ループが発生する可能性があります。オーバーフローした値は、後でバッファサイズ割り当てや構造体の解析に使用され、大規模なメモリアクセス要求や解析エラーを引き起こします。再現手順1. 添付の .lsd ファイルを使用します (PoC セクションを参照)。2. 実行: ./lcfstrings...