フォーマットバグ

読み:フォーマットバグ
外語:format bug 英語
品詞:名詞

printf(3)、即ちC言語printf関数のフォーマット文字列にユーザー入力をそのまま指定することによって生じるバグ

これを利用した攻撃をフォーマット攻撃といい、バッファーオーバーフロー攻撃と並ぶトレンドとなった。

これを利用して任意のコードを実行可能になるため、SUIDされたプログラムやデーモンでは深刻なセキュリティホールになり得る。これはwu_ftpdやglibcなどに存在した。

フォーマット文字列に%sなどを指定した場合は単にスタック上のデータが表示されるだけで済むが、%nを指定した場合には引数が指すアドレスの内容を書き換えることができる。これを利用してスタック中にあるリターンアドレスを書き換え、任意のコードを実行させることが可能。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club