rardecode バージョン <= 2.1.1 は、大きな RAR 辞書サイズを読み取る際に辞書サイズの制限に失敗します。これにより、攻撃者が特別に細工した RAR ファイルを提供し、メモリ不足によるクラッシュを介したサービス拒否 (Denial of Service) を引き起こすことが可能です。
人為的に大きな辞書サイズを持つ RAR ファイルを作成し、ライブラリに大量のメモリ割り当てを試行させ、その後メモリ不足によるクラッシュを発生させます。
14Gb.rar ファイルを使用し、go run exploit.go を実行します。
提供されている通常の simple.rar を使用してエクスプロイトを実行します。正常に抽出されます。
