【ゆーずあふたーふりー】
Use-After-Free(解放後使用) とは?
💡 退去した部屋の合鍵で、入居した他人の荷物を触るようなもの
📌 このページのポイント
Use-After-Freeって、どんなバグなの?
メモリをfree()で解放した後も、そのアドレスを指すポインタが残ったままになってしまうバグだよ。「もう使えない住所」に手紙を送り続けるようなイメージだね。
ポインタが残ったままだと、どうなるの?
解放後のメモリには別のデータが書き込まれることがあるんだよ。古いポインタでアクセスすると意図しない値を読み書きして、プログラムがクラッシュしたり誤動作したりするんだ。
攻撃者はどうやってそれを悪用するの?
どうすれば防げるの?
まとめ:ざっくりこれだけ覚えればOK!
「Use-After-Free」って出てきたら「解放済みメモリを使って起きる危険なバグ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Use After Free」 = 解放後使用
💬 use(使う)+after(〜の後に)+free(解放する)の合成語で、メモリをfree()した後にそのポインタを使ってしまう状態を指しているんだよ。