Overwriting a freed chunk
提案されたヒープ悪用テクニックのいくつかは、解放されたチャンク内のポインタを上書きできる必要があります。このページの目標は、このアクセスを付与する可能性のある潜在的な脆弱性を要約することです:
シンプルなUse After Free
攻撃者が解放されたチャンクに情報を書き込むことが可能であれば、必要なポインタを上書きするためにこれを悪用できます。
ダブルフリー
攻撃者が同じチャンクを2回free
できる場合(間に他のチャンクを解放しても可能)、それが同じビン内で2回になるようにし、ユーザーが後でそのチャンクを割り当てし、必要なポインタを書き込み、その後再度割り当てすることができると、チャンクが割り当てられた際のアクション(例:fast bin attack、tcache attack...)がトリガーされます。
ヒープオーバーフロー
割り当てられたチャンクをオーバーフローさせ、その後に解放されたチャンクがあるかもしれません。そのヘッダー/ポインタを変更することができます。
1バイトオーバーフロー
この場合、メモリ内の次のチャンクのサイズを変更することが可能になります。攻撃者はこれを悪用して、割り当てられたチャンクのサイズを大きくすることができ、それを**free
して、チャンクが異なるサイズ(大きい)のビンに追加されるようにし、その偽のサイズを割り当て、攻撃者は実際よりも大きいサイズのチャンクにアクセスでき、したがってヒープオーバーフロー**が可能になります(前のセクションを確認)。
Last updated