サイバーセキュリティ・情報セキュリティの分野では、バッファオーバーフローはメモリ破壊系の脆弱性の一つとして知られ、攻撃者がバッファオーバーフロー脆弱性のあるプログラムに意図的に悪意のあるデータ（コード）を与えることにより、コンピュータの制御を乗っ取ってしまうことを可能にする。バッファオーバーフロー脆弱性を悪用した攻撃をバッファオーバーフロー攻撃という。
バッファオーバーフローの具体例.
簡単な例.
電子メールアドレスを題材にした例.
コンピュータプログラムを作るとき、固定長のバッファとよばれる領域を確保してそこにデータを保存するという手法がよく使われる。
これがバッファオーバーフローである。仮にはみ出した部分にプログラムの動作上意味を持つデータがあれば、これを上書きして破壊することにより、プログラムはユーザの意図しない挙動を示すであろう。
このようにバッファオーバーフローは、プログラムが用意したバッファの大きさを超えてデータを書き込んでしまうバグである。
バッファオーバーフロー攻撃.
情報セキュリティ・サイバーセキュリティにおいてバッファオーバーフロー攻撃は、バッファオーバーフローの脆弱性を利用した攻撃である。バッファオーバーフローの脆弱性は整数オーバーフロー、書式文字列バグ、などと同様、メモリ破壊系の脆弱性に相当する。
古典的バッファオーバーフロー攻撃.
スタックベースのバッファオーバーフロー攻撃.
スタックベースのバッファオーバーフローについて説明するためにプロセスのメモリ利用方法を復習する。オペレーティングシステム (OS) は各ユーザプロセスに仮想アドレス空間を割り振り、WindowsやLinuxなどのOSでは上位のアドレスをカーネルが使うカーネル空間とし、残りをユーザプロセス自身が用いるユーザ空間とする。カーネル空間はユーザプロセスがアクセスする事はできず、通常のプログラミングでは意識する事はない。
一方、ユーザ空間における仮想アドレスの最高位の箇所は関数のコールスタックを保存する（可変サイズの）スタック領域として用いられる。
攻撃の基本的アイデア.
戻りアドレスの値の予想.
埋め込めるコード量が小さい場合の対処.
ヒープスプレー.
トランポリング.
バッファオーバーフローの結果.
プログラムのフリーズ・クラッシュ.