use-after-free(释放后使用):在程序中,某块内存已经被释放(free)后,代码仍然继续通过旧指针去读写这块内存的错误。常见于 C/C++ 等手动内存管理语言,可能导致程序崩溃、数据破坏,甚至被利用形成安全漏洞。(在安全领域也常缩写为 UAF。)
/ˌjuːs ˌæftər ˈfriː/
The crash was caused by a use-after-free bug.
这次崩溃是由一个释放后使用(use-after-free)的错误引起的。
An attacker exploited a use-after-free in the browser’s rendering engine to achieve arbitrary code execution.
攻击者利用浏览器渲染引擎中的释放后使用漏洞,实现了任意代码执行。
该术语由 use(使用)+ after(在……之后)+ free(释放内存) 组合而成,直观描述“内存已被释放之后仍被使用”的情况。它随着现代软件漏洞研究与漏洞分类体系(尤其是内存安全与漏洞利用领域)而广泛流行。