“Use-after-free”指一种常见的内存安全漏洞:程序在释放(free)某块内存后,仍然继续通过旧指针/引用去访问或使用这块已经被回收的内存。结果可能导致崩溃、数据被篡改,严重时可被利用实现任意代码执行。(也常写作 UAF)
/ˈjuːz ˌæf.tər ˈfriː/
The crash was caused by a use-after-free bug.
这次崩溃是由一个释放后使用(use-after-free)漏洞引起的。
If an attacker can control the freed memory before it is reused, a use-after-free may be exploited to hijack program flow.
如果攻击者能在该内存被再次分配前控制已释放内存中的内容,use-after-free 就可能被利用来劫持程序流程。
这是安全与系统编程领域的复合术语,由 use(使用)+ after(在……之后)+ free(释放内存)组成,直译为“在释放之后仍使用”。它描述的是一种典型的生命周期错误:对象/内存的“释放”先发生,但“使用”没有停止。