heap overflow

[hiːp ˈoʊvərˌfloʊ] ヒープオーバーフロー

1. プログラムが動的にメモリを確保する領域(ヒープ)において、割り当てられたバッファの境界を超えてデータが書き込まれる現象。これは通常、セキュリティ上の脆弱性やプログラムのクラッシュを引き起こします。

プログラムがメモリを使用する際に、動的に確保される「ヒープ」という領域に、本来割り当てられた量以上のデータを無理やり書き込もうとすることで起こる状態を表します。これは、プログラムが予期せぬ動作をしたり、クラッシュしたり、さらには悪意のある攻撃者に利用されてセキュリティ上の深刻な問題を引き起こす原因となります。
A heap overflow vulnerability allows attackers to execute arbitrary code. (ヒープオーバーフローの脆弱性により、攻撃者は任意のコードを実行できます。)

2. プログラミングにおいて、ヒープ領域に割り当てられたバッファのサイズを超えるデータを書き込むことによって生じるバグ、またはその状態。これにより、他のデータが破壊されたり、プログラムの制御フローが不正に改変されたりする可能性があります。

プログラミングにおいて、データが動的に確保される「ヒープ」と呼ばれるメモリ領域で、データがその領域の境界を超えて書き込まれてしまう状態を指します。これは、プログラムの動作を不安定にしたり、システムクラッシュを引き起こしたりする原因となるだけでなく、悪意のあるユーザーによってシステムの乗っ取りや機密情報の窃取といったセキュリティ攻撃の足がかりとして悪用されることがあります。
Understanding how heap overflows occur is crucial for secure coding. (ヒープオーバーフローがどのように発生するかを理解することは、安全なコーディングにとって極めて重要です。)