スタック・オーバーフローで任意コードを実行できるか? ~「IEに0-dayのバッファ・オーバーフロー?」の疑問に答える~ 昨日公開した記事「IEに0-dayのバッファ・オーバーフロー?」に対して、ある知人から次のような質問をされました。「スタック・オーバーフローが任意コードの実行に結びつく可能性があるとの事だが、それは一体どのような状況なのか?」といった内容です。同様の疑問を持った読者がいるかもしれません。そこで、この場を借りてお答えしたいと思います。 「絶対ない」とは書かなかった理由 前回の記事で書いたように、スタック・オーバーフローで任意コードの実行が可能になる状況は非常に限定されています。というよりも、通常はあり得ません。単に無限再帰がスタックを消費し尽くすだけであり、バッファ・オーバーフローのように、リターン・アドレス(関数からの戻り先アドレス)などの特定アドレスを書き換えられるわ
![スタック・オーバーフローで任意コードを実行できるか?](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)