CyberGlossary

漏洞

释放后使用

别称: UAF

定义

程序在内存被释放之后仍继续使用该内存的安全缺陷,通常使攻击者得以控制对象状态并劫持执行。

释放后使用(Use-After-Free,UAF)是指 free()/delete 释放对象之后,指针仍在被使用。若攻击者能令同一块内存被重新分配为另一种对象,这个悬空指针就形成了完美的类型混淆,可用于覆盖虚函数指针、回调地址或敏感状态。UAF 主导浏览器与内核的利用(CWE-416)。防御措施包括严谨的所有权模型(RAII、智能指针)、垃圾回收或内存安全语言、强化的分配器(隔离、隔离池、GWP-ASan),以及 KASAN/Valgrind 测试。浏览器还部署 MiraclePtr 与 PartitionAlloc 等保护机制。

示例

  • CVE-2018-8174(VBScript 引擎):被 APT 利用的 UAF。
  • CVE-2022-0609(Chrome 动画):作为零日被利用的 UAF。

相关术语