Return-to-libc攻撃
Return-to-libc攻撃とは、バッファオーバーランによってコールスタック上のリターンアドレスを別のサブルーチンへのアドレスへ書き換え、さらにスタック上の引数に当たる位置も書き換えることで、サブルーチンを呼び出させるコンピュータセキュリティの攻撃手法である。攻撃者は、悪意あるコードをプログラムに注入することなく、単に既存の関数を呼び出すだけで攻撃を行う。
Unix系システムでは、C言語ランタイムとして "libc" という共有ライブラリが使われる(Windows でも該当するライブラリが存在する)。バッファオーバーランでは攻撃者は任意のコードに戻るように細工できるが、常にリンクされていて攻撃に使い易い機能が多く存在する libc をターゲットとすることが多い(例えば、system() は引数さえ正しく指定すれば、任意のプログラムを実行できる)。このため、全く別の場所を呼び出すようになっていても総称として "return-to-libc" と呼ぶ。